对象属性模型的相关方法:
对象自身所有属性名称
Object.getOwnPropertyNames(obj) //[]
获取某个属性的attribute对象
Object.getOwnPrototypeDescriptor(obj)
通过attribute对象,定义属性
Object.defineProperty(obj,'d',{value:4,enumerable:false})
//obj.d .....4
通过attribute对象,定义多个属性
Object.defineProperties({},
{
{p1:{},
p2:{},
p3{get:function(){}}},
enumerable:true,
configurable:true
})
原型链相关方法:
指定原型对象和属性,返回一个新对象
Object.creat(object.prototype,{p1{attr1:xx},p2{attr2:xxx}})
获取对象的prototype对象
Object.getPropertyOf()
Object实例对象的方法
返回对象对应值
valueOf()
返回对象对应字符串形式
toString()
返回对象对应的字符串形式
toLocalString()
判断某个属性是自身属性还是继承自原型属性
Object.hasOwnProperty(target) // true || false
判断当前属性是否为另一个对象的原型
isPrototypeOf()
判断某个属性是否可枚举
propertyIsEnumerable()