2

我了解 JavaScript 原型。但是对原型属性和隐藏原型链接之间的区别感到困惑。对象原型链接和函数原型链接之间还有区别吗?

有人可以提供一个非常基本的示例来演示相同的内容(主要是原型链接/链接......就像它如何根据对象原型链接和函数原型链接查找属性)

4

1 回答 1

1

文档对象模型(DOM)是 JavaScript 中继承的一个很好的例子。

想象一下你有一个div. 它是 的一个实例HTMLDivElement

var div = document.createElement('div');

div instanceof HTMLDivElement; // -> true

div instanceof HTMLElement; // -> true

div instanceof Element; // -> true

div instanceof Object; // -> true

div是一个对象,包括 . 中的所有方法和属性HTMLDivElement.prototype。它在__proto___财产之下,但这并不意味着您应该div.__proto__.insertBefore访问insertBefore. 这就像其他语言中的包含。

换句话说div.__proto__就是指向HTMLDivElement.prototype

prototype是一个对象。因此,它可以拥有自己的__proto__指针。在这种情况下HTMLDivElement'sprototype是一个 Object 并且有 a__proto__指向HTMLElement.prototype,因此它包括所有方法和属性。它沿着这条路走,直到Object.prototype没有__proto__指针和查找桩。

我试图避免使用new关键字来解释这一点。我希望它有帮助...

于 2013-03-02T08:22:23.137 回答