**

*1

***.学习JS继承一定要拿指针的概念去审视,不能死机


2

***.首先要明白:原型(对象),let a = new A()会发生构成原型链图,类对象的prototype指向他的原型,类对象的实例对象的__proto__指向他所属类的原型对象,类对象的实例对象有条this指向线指向他所属的类。
备注:建议先明白原型的概念,不懂可以看我的图解原型文章。)
…接下来看图解JS十种继承方式 :备注:实线表示自己的原型链图的指向,虚线表示继承

2.1 B.prototype = new A() (借子类prototype继承父类实例)

前端JS十种继承方式-图解通俗易懂

2.2 对象继承(A.call(this))

前端JS十种继承方式-图解通俗易懂

2.3 B.prototype = a (借子类prototype继承父类的实例对象)

前端JS十种继承方式-图解通俗易懂

2.4 b.proto = a (借子对象的__proto__继承父类的实例对象)

前端JS十种继承方式-图解通俗易懂

2.5 b = a -"(借子类的实例对象继承实例对象)"

前端JS十种继承方式-图解通俗易懂

2.6 B.prototype = A() (借子类prototype继承父类对象)

前端JS十种继承方式-图解通俗易懂

2.7 B.prototype = A.prototype (借子类prototype继承父类的原型)

前端JS十种继承方式-图解通俗易懂

2.8 b.proto = new A() (借子对象的__proto__继承父类实例)

前端JS十种继承方式-图解通俗易懂

2.9 b.proto = A() (借子对象的__proto__继承父类对象)

前端JS十种继承方式-图解通俗易懂

2.10 b.proto = A.prototype (借子对象的__proto__继承父类原型)

前端JS十种继承方式-图解通俗易懂

相关文章: