图和文本解释Javascript的原型对象和原型链。
首先,Javascript的原型是一个很麻烦的事情,__proto__原型容易混淆,以及它们之间的所有的市场是有点复杂,有清楚的很多文章在尝试说,有一个所谓的经典人物,画各种线条。连接一下这一连接,说实话,我自己很晕,更不用说完全理解了,所以我也想看看我是否能在原型中找出重要的知识点,并用最简单的形式表达清楚。我们知道,一个原型是一个对象,和其他对象可以继承财产通过。但尼玛,除了原型,有__proto__什么你是如何改变的他们都指向谁,你怎么记得混乱什么是原型链我相信很多初学者,即使是有经验的老手也不一定完全清楚,下面有三个简单的地图,有一些示例代码可以理解。
之间的一个区别,原型和__proto__
var = { };
console.log(a.prototype); / /未定义
console.log(a.__proto__; / /对象){ }
Var(b =函数){ }
console.log(b.prototype; / / B){ }
console.log(b.__proto__);( / /功能){ }
1,字面方式。
var = { };
console.log(a.__proto__; / /对象){ }
console.log(a.__proto__ = a.constructor。原型); / /真的
2,构造函数* /方式
Var(a =函数){ };
var =新的a();
console.log(a.__proto__; / /){ }
console.log(a.__proto__ = a.constructor。原型); / /真的
/ * 3,object.create()方法* /
var = 1
VaR A2 = object.create(A1);
console.log(A2。__proto__); / /对象{ 1 }:
console.log(a.__proto__ = a.constructor。原型); / /假(这是例外,图1)
Var(a =函数){ };
var =新的a();
console.log(a.__proto__; / /){ }(即原型对象的构造函数)
console.log(a.__proto__。__proto__; / /对象){ }(即对象的原型对象的构造函数)
console.log(a.__proto__。__proto__。__proto__); / /空
以上就是本文的全部内容。本文用三个图解释了Javascript的原型对象和原型链,希望能帮助您学习Javascript。