Object.create

Posted CNundefined

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object.create相关的知识,希望对你有一定的参考价值。

Object.create() 方法使用指定的原型对象和其属性创建了一个新的对象。

语法

Object.create(proto, [ propertiesObject ])

举个例子:

function Constructor(){}
o = new Constructor();
// 上面的一句就相当于:
o = Object.create(Constructor.prototype);
// 当然,如果在Constructor函数中有一些初始化代码,Object.create不能执行那些代码


// 创建一个以另一个空对象为原型,且拥有一个属性p的对象
o = Object.create({}, { p: { value: 42 } })

// 省略了的属性特性默认为false,所以属性p是不可写,不可枚举,不可配置的:
o.p = 24
o.p
//42

o.q = 12
for (var prop in o) {
   console.log(prop)
}
//"q"

delete o.p
//false

 

以上是关于Object.create的主要内容,如果未能解决你的问题,请参考以下文章

js 中 new 与 Object.create()的区别

使用“Object.create()”而不是“new”关键字来理解原型对象的创建

Object.create(null)Object.create({}){} 三者创建对象的区别

Object.create()和new object()和{}的区别

Object.create()和new object()和{}的区别

浅谈Object.create