Object.create(proto,propertiesObject)
方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__。
参数: proto:
新创建对象的原型对象。 propertiesObject : 可选。如果没有指定默认为 undefined
则是要添加到新创建对象的不可枚举(默认)属性
(即其自身定义的属性,而不是其原型链上的枚举属性)对象的属性描述符以及相应的属性名称这些属性对应 Object.defineProperties()
的第二个参数。
示例:
var o; // 创建一个原型为null的空对象 o = Object.create(null); o = Object.create(Object.prototype, { // foo会成为所创建对象的数据属性 foo: { writable:true, configurable:true, value: "hello" }, // bar会成为所创建对象的访问器属性 bar: { configurable: false, get: function() { return 10 }, set: function(value) { console.log("Setting `o.bar` to", value); } } }); //创建一个可写的,可枚举的,可配置的属性p o2 = Object.create({}, { p: { value: 42, writable: true, enumerable: true, configurable: true } });