在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js 原型鏈繼承

js 原型鏈繼承

        function Foo1(){
           this.name1 = '1';
        }
        function Foo2(){
           this.name2 = '2';
        }
        Foo2.prototype = new Foo1();
        function Foo3(){
           this.name = '3';
        }
        Foo3.prototype = new Foo2();
        var foo3 = new Foo3();
        console.dir(foo3);

圖片描述

各位幫忙分析下,為什么箭頭指向的地方打印出來不是Foo2而是Foo1,這是什么原理?

回答
編輯回答
陪她鬧

Foo3通過prototype屬性將原型指向了Foo2,但是最終Foo2的原型也是Foo1

2017年6月22日 09:36
編輯回答
賤人曾

new 的過程是這樣的,看下就明白了。

var obj={};
obj._proto_=Father.propotype;
Father.call(obj);
return obj;
2017年7月16日 10:54
編輯回答
法克魷

因?yàn)槟銓oo1的實(shí)例復(fù)制給Foo2的原型,這時(shí)候Foo2.prototype.constructor指向的是Foo1,如果你在Foo2.prototype=new Foo1后面加一行Foo2.prototype.constructor=Foo2,將constructor重新修改為Foo2。應(yīng)該就能達(dá)到你想要的結(jié)果了。

2017年4月24日 10:25