Javascript Object.Create()方法
如果您查看列表,它会显示Javascript Object.Create()方法,javascript,Javascript,如果您查看列表,它会显示Object.Create(): create()方法使用指定的 原型对象和属性 我认为这是不明确的,因为它没有说明修改了哪个prototype属性(内部[[prototype]]]或公开提供的prototype所有函数都有)。MDN的措辞可能需要一些改进,但文章底部链接的ECMAScript 5.1规范非常清楚 这里没有构造函数或函数。这里涉及原型。您可以提供任何对象作为第一个参数。无功能的原型将在此过程中进行修改。您看到示例了吗?我想这很清楚。您创建的将是Object
Object.Create()
:
create()方法使用指定的
原型对象和属性
我认为这是不明确的,因为它没有说明修改了哪个
prototype
属性(内部[[prototype]]]
或公开提供的prototype
所有函数都有)。MDN的措辞可能需要一些改进,但文章底部链接的ECMAScript 5.1规范非常清楚
这里没有构造函数或
函数。这里涉及原型。您可以提供任何对象作为第一个参数。无功能的原型
将在此过程中进行修改。您看到示例了吗?我想这很清楚。您创建的将是Object.create(YourAnotherObject.prototype)
这意味着新创建的对象的原型(即此方法调用的返回值)将设置为给定的proto
参数,在代码中:var o=Object.create(proto);Object.getPrototypeOf(o)==proto
返回true
我知道它修改了内部[[Prototype]]]
。我只是问这些文件是否应该更正。@user4205580我还是不明白你的困惑。您指的是哪个“prototype
property”?如果您考虑的是Function.prototype
,那么这只与新的
操作符相关。create()
方法不使用它,而是使用“magic”创建对象。@billc.cn函数也是对象+函数有两个prototype
属性-内部[[prototype]]
和可访问的prototype
。现在,如果文档说创建了一个对象,它不会说它是函数对象还是只有一个prototype
属性的普通对象。