我正在使用Object.create
,并且返回的对象具有与其name
类型对应的只读prototype
属性。
var o = Object.create(Object);
o.name = "foo";
console.log(o.name); // "Object"

为什么会这样?这记录在哪里?
答案 0 :(得分:3)
Object.create
期待一个原型。通过提供构造函数作为原型,您已将o
作为Function
的实例。 o
是一个继承自Object
构造函数的函数。
函数的name
属性在创建后始终是固定的,因此不会更改。