有兩個對象匾灶,a和b
a有自己的方法do() 和屬性attr:
b有自己的屬性bttr
現(xiàn)在棱烂,b沒有方法,但想要借用a的方法do()執(zhí)行操作阶女,該怎么辦呢颊糜?
通過call來調(diào)用
a.call(b)
//先a執(zhí)行方法,通過函數(shù)的call()方法來b call過來秃踩,執(zhí)行方法衬鱼。括號里的參數(shù)傳遞的是函數(shù)執(zhí)行時的作用域,一般是this,也可以指定作用域憔杨。
后面可跟多個直接的參數(shù)鸟赫,這個參數(shù)是當(dāng)前函數(shù)的參數(shù)個數(shù)。
https://cnodejs.org/topic/52cb927a7a15a384667e2054
function cat(){};
cat.prototype={
food:"fish",
say:function(){alert("I love"+this.food)}
};
var blackCat = new cat;
blackCar.say();
現(xiàn)在有一只狗的對象消别,想要借用貓的方法來執(zhí)行命令抛蚤,于是:
whiteDog = {food:"bone"}
blackCar.say.call(whiteDog)