JavaScript原型属性和原型链接

时间:2013-03-02 08:02:21

标签: javascript jquery prototype prototypal-inheritance

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

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

1 个答案:

答案 0 :(得分: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的{​​{1}}是一个对象,并且prototype指向__proto__,因此它包含所有方法和属性。它向下走这条路径,直到HTMLElement.prototype没有Object.prototype指针和查找stups。

我尽量避免使用__proto__关键字来解释这个问题。我希望它有所帮助...