我理解JavaScript原型。但是混淆了原型属性和隐藏原型链接之间的区别。对象原型链接和函数原型链接也有区别吗?
有没有人可以提供一个非常基本的例子来演示(主要是原型链接/链接...比如它是如何根据对象原型链接和函数原型链接来查找属性的)
发布于 2013-03-02 16:22:23
文档对象模型(DOM)是JavaScript中继承的一个很好的例子。
想象一下你有一个div。它是HTMLDivElement的一个实例。
var div = document.createElement('div');
div instanceof HTMLDivElement; // -> true
div instanceof HTMLElement; // -> true
div instanceof Element; // -> true
div instanceof Object; // -> truediv是一个对象,它包含HTMLDivElement.prototype中的所有方法和属性。它在__proto___属性下,但这并不意味着您应该使用div.__proto__.insertBefore来访问insertBefore。它就像其他语言中的include。
换句话说,div.__proto__指向了HTMLDivElement.prototype。
prototype是一个对象。正因为如此,它可以有自己的__proto__指针。在本例中,HTMLDivElement的prototype是一个对象,它有一个指向HTMLElement.prototype的__proto__,所以它包含了所有的方法和属性。它沿着这条路径一直走到没有__proto__指针和查找存根的Object.prototype。
我尽量避免使用new关键字来解释这一点。我希望这会有帮助..。
https://stackoverflow.com/questions/15172249
复制相似问题