为了账号安全,请及时绑定邮箱和手机立即绑定

关于那个var obj=Object.create({x:1});

这个Object.create()是个什么意思啊?是不是从Object里有那么一个属性是x:1,然后var obj 是声明了obj得到了那个属性。如果是这样,那内个obj.hasOwnProperty('x');应该是个true吧?

正在回答

2 回答

Object.create() ES5新增的。在创建对象的时候,我们有2种常用方法,一个是文本标记法(var obj = {}),一种是运用Object函数进行对象的创建(new Object()).但是这两种方式并不是创建的一个完完全全"干干净净"的对象,这里的干净只得是没有继承链.

语法:Object.create(proto, [ propertiesObject ]);
proto  一个对象,作为新创建对象的原型。如果 proto 参数不是 null 或一个对象值,则抛出一个 TypeError 异常。null表示没有原型对象(这样就创建了一个"干净的对象")

propertiesObject  一个对象值,可以包含若干个属性,属性名为新建对象的属性名,属性值为那个属性的属性描述符对象.

1 回复 有任何疑惑可以回复我~
#1

comlejade 提问者

非常感谢!
2015-11-19 回复 有任何疑惑可以回复我~

// Object.create 可以理解为继承一个对象,添加的属性在原型下面;


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于那个var obj=Object.create({x:1});

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信