Javascript中__proto__和Prototype之间的混淆

时间:2018-01-12 09:47:19

标签: 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

每个对象都是原型继承自 Object 对吗?

我错过了什么?

请用例子澄清事情。

我差点儿丢了。

1 个答案:

答案 0 :(得分:0)

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

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

来自:__proto__ VS. prototype in JavaScript