Object.create函数

语法

Object.create(prototype, descriptors)

参数

prototype

  必需。  要用作原型的对象。  可以为 null。  

descriptors

  可选。  包含一个或多个属性描述符的 JavaScript 对象。  

  “数据属性”是可获取且可设置值的属性。  数据属性描述符包含 value 特性,以及 writableenumerable 和 configurable 特性。  如果未指定最后三个特性,则它们默认为 false。  只要检索或设置该值,“访问器属性”就会调用用户提供的函数。  访问器属性描述符包含 set 特性和/或 get 特性。  有关详细信息,请参阅 Object.defineProperty 函数 (JavaScript)。  

返回值

一个具有指定的内部原型且包含指定的属性(如果有)的新对象。

异常

如果满足下列任一条件,则将引发 TypeError 异常:

prototype 参数不是对象且不为 null。

descriptors 参数中的描述符具有 value 或 writable 特性,并具有 getset 特性。

descriptors 参数中的描述符具有不为函数的 getset 特性。

示例

var newObj = Object.create(null, {
            size: {
                value: "large",
                enumerable: true
            },
            shape: {
                value: "round",
                enumerable: true
            }
        });

console.log(newObj.size + "<br/>");//large
console.log(newObj.shape + "<br/>");//round
console.log(Object.getPrototypeOf(newObj));null

猜你喜欢

转载自www.cnblogs.com/haonanya/p/9057256.html