对象属性模型的相关方法:

对象自身所有属性名称  

      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()