Object内置对象 API
1 Object.getPrototypeOf( obj ) ,返回obj对象的构造函数的prototype属性(也就是obj对象的 proto 属性对象),每个构造函数都有一个prototype属性
|
|
2 isPrototypeOf( )
3 设置对象的原型属性 proto
3.1 Object.create( proto , prop ) 用来设置对象的 proto 的属性的指向;返回一个创建的对象;prop和Object.defineProperties(obj ,prop) 里面的prop格式一致,如下栗子
|
|
obj结构如下
|
|
3.2 Object.setPrototypeOf(obj,prototype) prototype参数必须是一个对象或者null,否则会抛出异常,用来设置对象的 proto 的属性的指向,返回obj对象
|
|
|
|
4 Object.getOwnPropertyNames(obj )该函数可以将对象中可枚举以及不可枚举的key值都列举出来,返回一个key组成的数组
The object whose enumerable and non-enumerable own properties are to be returned.
An array of strings that correspond to the properties found directly upon the given object.
5 Object.keys(obj) 该方法返回obj对象的所有可枚举的属性的键值组成的数组,不可枚举的属性键不会返回
|
|
需要注意的一点,如果数组中有一项为undefined的话,我们需要理解Object.keys()底层的实现,其实是封装了for-in循环,以及判断是否有某个属性Object.prototype.hasOwnProperty() 方法.for-in循环用来获取对象或者数组的键名.
|
|
所以对于没有定义的某一项数组元素,Object.keys() 方法的输出如下,这点需要注意下
|
|