原型链

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原型链相关的知识,希望对你有一定的参考价值。

当js中的引用类型(类)需要继承其他引用类型(类)的时候,不能像其他语言一样靠关键字extend(如class A extends B 类A继承类B)来实现,而是要靠主要两个步骤实现:

1.实例化要继承的引用类型(父类);
2.将自己的原型即prototype属性指向第一步中得到的实例。

如:A要继承B
1.var c=new B();
2.A.prototype=c;
那么此时,当实例化A的时候(var d=new A()),实例d的原型(prototype属性)指向c,而c的原型(prototype)又指向B.prototype,z这就形成了实例与原型的链条。这就是原型链的基本概念。

 

原型__proto__和prototype的区别:
__proto__:所有对象都有,prototype只有函数有。

以上是关于原型链的主要内容,如果未能解决你的问题,请参考以下文章

原型链和原型对象-3 (原型链)

理解js中是原型链? 如何实现继承?

web前端:理解js原型链

js原型链和继承的理解

原型和原型链的理解

彻底理解js的原型链