美文网首页前端
JS-Object(阮一峰js对象要点总结)

JS-Object(阮一峰js对象要点总结)

作者: Ann_l | 来源:发表于2017-05-30 22:42 被阅读20次

    Object是个构造函数,可以通过它生成新的对象

    const o1= {a:1}

    const o2=newObject(o1)

    o1.b='hello'

    console.log(o1)//{ a: 1, b: 'hello' }

    console.log(o2)//{ a: 1, b: 'hello' }

    个人觉得new Object相当于浅拷贝,o1和o2数据各自发生改变,双方都会改变。

    注意:new Objetct()相当于o={}

    对象上部署方法

    //部署在Object上的print方法,用来显示其他对象的内容

    /*Object.print = function (o) {

    console.log(typeof o)

    }

    const o = new Object()

    Object.print(o)*/

    //部署在prototype对象

    Object.prototype.print=function() {

    console.log(this)

    }

    constwalko=newObject()

    walko.print()

    2、Object

    Object函数可以将各种值转为对应的构造函数生成的对象

    Object(1)//等同于new Number(1)

    console.log(Object(1)instanceofObject)// true

    console.log(Object(1)instanceofNumber)// true

    console.log(Object('kero')instanceofObject)// true

    console.log(Object('kero')instanceofString)// true

    console.log(Object(undefined)instanceofObject)// true

    Object方法的参数是个对象,它总是返回原对象

    const arr=[1,2,3,4,4]

    console.log(Object(arr))//[ 1, 2, 3, 4, 4 ]

    console.log(Object(arr)===arr)// true

    3、Object静态方法

    Object.kery(o)//通常使用此方法进行遍历对象

    Object.getOwnpropertyNames(o)//遍历数组时,会将length这样的不可枚举属性输出

    4、Object对象的实例方法

    4.1、valueOf()

    constnewo=newObject()

    console.log(newo.valueOf() ===newo)//返回一个对象的值,more是返回对象本身

    /*也可以通过自己写方法覆盖此实例方法*/

    newo.valueOf=function() {

    return2

    }

    console.log(1+newo)

    相关文章

      网友评论

        本文标题:JS-Object(阮一峰js对象要点总结)

        本文链接:https://www.haomeiwen.com/subject/pprlfxtx.html