JS郭志敏的程序员书屋让前端飞

JS—继承

2014-12-08  本文已影响311人  Miss____Du

js实现继承主要是通过原型链实现的。

2014-12-08_193432.png
上图是上段代码的一个关系图,发现,SubType在继承SuperType原型之后,又为原型新添加了属性与方法。而且,为其原型指向一个实例对象,实际上是新建了原型,即割断了原型与构造函数之间的关联,导致subtype的构造函数最终指向其继承的原型对象的构造函数。
instance.getSuperValue()】其搜索过程会沿着原型链继续向上,这句代码会经历三个搜索步骤:1)搜索实例2)搜索SubType.prototype;3)搜索SuperType.prototype,最后一步才会找到该方法。
原型链也是认同“当在原型链前端就找到该属性或方法会屏蔽原型链后的同名方法或属性”
当然我们也不要忘记了Object。因为所有引用类型都是继承原型对象最初都是集成的这个对象的实例。所以所有引用类型的实例也都具备object原型内的属性与方法。
上一篇 下一篇

猜你喜欢

热点阅读