Object对象方法ES5

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 
  } 
});
posted @ 2019-12-14 20:03  jeff_zhu  阅读(264)  评论(0编辑  收藏  举报