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

鍍金池/ 問答/HTML5  HTML/ js的call()繼承問題

js的call()繼承問題

function Animal(name,weight){
   this.name = name;
   this.weight = weight;
}
 
function Cat(){
    Animal.call(this,'cat','50');
  //Animal.apply(this,['cat','50']);
 
   this.say = function(){
      console.log("I am " + this.name+",my weight is " + this.weight);
   }
}
 
var cat = new Cat();
cat.say();//I am cat,my weight is 50

call()實現(xiàn)繼承的原理我動,但是上面這段代碼cat直接調(diào)用say()的話不應(yīng)該是只執(zhí)行Cat構(gòu)造函數(shù)里的say方法嗎?而Animal.call(this,'cat','50');這一行不應(yīng)該沒執(zhí)行嗎?難道是因為new一個cat實例的時候會把Cat函數(shù)先執(zhí)行一遍么?求解

回答
編輯回答
安淺陌

catCat 仔細(xì)看好 的你定義

var cat = new Cat()
你調(diào)用的是cat  是Cat的新實例  當(dāng)然自上而下執(zhí)行一次  結(jié)果一目了然
2017年11月25日 19:57