贪玩蓝月真好玩,但学习还是要继续的
我们平时调用一个js
函数是这样的
var ruben = {
say: function (word) {
if (this.name == null) {
this.name = "ruben";
}
return this.name "说:" word;
}
}
var whatRubenSaid = ruben.say("做猪呢,最重要的是开心");
console.log(whatRubenSaid);
输出结果
那么我们现在新创建一个对象
代码语言:javascript复制var Achao = {
name: "Achao"
}
如果我们想在Achao
里调用ruben
里的say
函数
我们就可以这样
代码语言:javascript复制var whatAchaoSaid = ruben.say.call(Achao, "村头恶霸华农、刑部尚书手工耿、木瓜大盗莫叔、非洲人犯朱一旦")
console.log(whatAchaoSaid);
输出结果
这就是call
函数的使用方式和场景了
那么还有一个apply
呢?
和call
不同,它调用方法给的参数需要是一个数组
var Hegel = {
name: "黑格尔"
}
var whatHegelSaid = ruben.say.apply(Hegel, ["只有永远躺在泥坑里的人,才不会再掉进坑里。"])
console.log(whatHegelSaid);
否则会抛出异常