2013-03-02 151 views
2

我了解JavaScript原型。但混淆原型属性和隐藏原型链接的区别。对象原型链接和函数原型链接之间的区别?JavaScript原型属性和原型链接

可能有人请提供一个非常简单的例子来演示相同的(主要是原型的链接/链接...喜欢它的外观弥补了财产在两个原型对象链接和函数原型链接而言)

+0

我不认为有任何一种隐藏的链接。至少不是这几天。原型属性就是它的全部。对象原型和函数原型也没有区别。 – Jodes 2013-03-02 08:09:27

+1

去这里:不错的阅读 - http://yehudakatz.com/2011/08/12/understanding-prototypes-in-javascript/ – 2013-03-02 08:22:15

回答

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__指针。在这种情况下,HTMLDivElementprototype是一个对象,并具有指向HTMLElement.prototype__proto__,因此它包含所有方法和属性。它沿着这条路走下去,直到Object.prototype没有__proto__指针和查找stups。

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