我正在通过道格拉斯·克罗克福德的 JavaScript:好的部分工作,我在第4章“功能”中遇到了一些我不太理解的东西。
在本章开头附近:
功能对象
JavaScript中的函数是对象。对象是具有到a的隐藏链接的名称/值对的集合 原型对象。 从对象文字生成的对象是链接的 到Object.prototype。函数对象链接到 Function.prototype (它本身链接到Object.prototype)。
在我尝试这个之前,这似乎很简单:
console.log({}.prototype); // => undefined, ???
console.log({key: 'val'}.prototype); // => undefined
console.log(Object.prototype); // => [object Object]
console.log(function(){}.prototype); // => [object Object]
console.log(Function.prototype); // => function Empty() {}
console.log(function(){}.prototype === Function.prototype); // => false
console.log(function(){}.prototype === Object.prototype); // => false
根据摘录,有人可以解释这个吗?根据我读到的内容,对象文字应该有原型,它们应该以某种方式链接到Object.prototype。另外,不应该在function(){}。原型和Function.prototype之间有一些联系吗? Function.prototype和Object.prototype之间的联系是什么?