我了解 JavaScript 原型。但是对原型属性和隐藏原型链接之间的区别感到困惑。对象原型链接和函数原型链接之间还有区别吗?
有人可以提供一个非常基本的示例来演示相同的内容(主要是原型链接/链接......就像它如何根据对象原型链接和函数原型链接查找属性)
我了解 JavaScript 原型。但是对原型属性和隐藏原型链接之间的区别感到困惑。对象原型链接和函数原型链接之间还有区别吗?
有人可以提供一个非常基本的示例来演示相同的内容(主要是原型链接/链接......就像它如何根据对象原型链接和函数原型链接查找属性)
文档对象模型(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
关键字来解释这一点。我希望它有帮助...