javascript - Javascript 中 __proto__ 和 Prototype 的混淆

标签 javascript

因此,它可能会重复。原谅我的无知。 我只是想澄清一下。

function Person(name) {
    this.name = name;
}

现在你可以了,

var eve = new Person("Eve");

所以,

eve.__proto__ == Person.prototype

返回 true

有道理。

eve.__proto__.__proto__ == Object.prototype

也有道理 true

为什么 Person.__proto__ == Object.prototype 返回 false

每个对象的原型(prototype)都继承自 Object 对吧?

我错过了什么?

请举例说明。

我快迷路了。

最佳答案

proto 是查找链中用于解析方法等的实际对象。prototype 是在创建对象时用于构建 proto 的对象新的:

( new Foo ).__proto__ === Foo.prototype
( new Foo ).prototype === undefined

发件人:__proto__ VS. prototype in JavaScript

关于javascript - Javascript 中 __proto__ 和 Prototype 的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48223508/

相关文章:

javascript - 无法从选定的 jquery 中追加和更新选项

javascript - 在不调整浏览器窗口大小的情况下模拟方向更改

javascript - 网站热力图如何获取准确数据?

javascript - 如何同时执行计时?

javascript - 单击删除按钮后希望取消选中该复选框

javascript - 如何使用 jQuery 淡入列表中的下一张图像?

javascript - Raphael JS - 创建自定义进度条

javascript - 在表行中选中复选框时启用文本框

javascript - Jquery .each 循环封装

javascript - 更改 jquery 中的变量时出现问题