Object.create()只读名称属性

时间:2015-03-23 15:21:30

标签: javascript

我正在使用Object.create,并且返回的对象具有与其name类型对应的只读prototype属性。



var o = Object.create(Object);
o.name = "foo";
console.log(o.name); // "Object"




为什么会这样?这记录在哪里?

1 个答案:

答案 0 :(得分:3)

Object.create期待一个原型。通过提供构造函数作为原型,您已将o作为Function的实例。 o是一个继承自Object构造函数的函数。

函数的name属性在创建后始终是固定的,因此不会更改。