如果您在Chrome DevTools中查看Object
,您会发现它的prototype
属性指向一个对象,我希望如此。
Object
Function
的{{1}}属性看起来像指向一个令我惊讶的功能。
Function
首先,这是真的吗?如果是这样,为什么prototype
的{{1}}键指向功能对象而不是普通对象? (这有什么大影响吗?)
答案 0 :(得分:0)
JavaScript遵循原型继承。 Object
和Function
只是构造函数。因此,任何随后创建的函数或对象都将继承prototype
(*)的属性。
使用这种模式,很明显prototype
的{{1}}指向对象,而函数的指向实体。可能会有些混乱,因此建议遵循this
“将函数原型对象指定为要 确保与之前创建的ECMAScript代码兼容 符合ECMAScript 2015规范。”
(*)请注意,函数是Javascript中的对象(可以向它们添加属性)。