JavaScript原型属性和原型链接

问题描述 投票:0回答:1

我了解 JavaScript 原型。但我对原型属性和隐藏原型链接之间的区别感到困惑。另外,对象原型链接和函数原型链接有什么区别?

我正在寻找一个非常基本的示例来演示相同的内容(主要是原型链接/链接,例如它如何根据对象原型链接和函数原型链接查找属性)。

javascript jquery prototype prototypal-inheritance
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
是一个 Object,包含
HTMLDivElement.prototype
中的所有方法和属性。它位于
__proto___
属性下,但这并不意味着您应该执行
div.__proto__.insertBefore
来访问
insertBefore
。这就像其他语言中的包含。

换句话说,

div.__proto__
指向
HTMLDivElement.prototype

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

我试图避免使用

new
关键字来解释这一点。我希望它有帮助...

© www.soinside.com 2019 - 2024. All rights reserved.