js学习之call和apply

简介: js学习之call和apply


贪玩蓝月真好玩,但学习还是要继续的

我们平时调用一个js函数是这样的

var ruben = {
    say: function (word) {
        if (this.name == null) {
            this.name = "ruben";
        }
        return this.name + "说:" + word;
    }
}
var whatRubenSaid = ruben.say("做猪呢,最重要的是开心");
console.log(whatRubenSaid);

输出结果

那么我们现在新创建一个对象

var Achao = {
    name: "Achao"
}

如果我们想在Achao里调用ruben里的say函数

我们就可以这样

var whatAchaoSaid = ruben.say.call(Achao, "村头恶霸华农、刑部尚书手工耿、木瓜大盗莫叔、非洲人犯朱一旦")
console.log(whatAchaoSaid);

输出结果

这就是call函数的使用方式和场景了

那么还有一个apply呢?

call不同,它调用方法给的参数需要是一个数组

var Hegel = {
    name: "黑格尔"
}
var whatHegelSaid = ruben.say.apply(Hegel, ["只有永远躺在泥坑里的人,才不会再掉进坑里。"])
console.log(whatHegelSaid);

否则会抛出异常

image-20200904201148445.png

相关文章
|
23天前
|
JavaScript
js学习--制作猜数字
js学习--制作猜数字
35 4
js学习--制作猜数字
|
22天前
|
JavaScript
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
这篇文章介绍了如何将webpack的配置文件分离成开发环境和生产环境的配置文件,以提高打包效率。
36 1
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
|
12天前
|
JavaScript 前端开发
JS高级—call(),apply(),bind()
【10月更文挑战第17天】call()`、`apply()`和`bind()`是 JavaScript 中非常重要的工具,它们为我们提供了灵活控制函数执行和`this`指向的能力。通过合理运用这些方法,可以实现更复杂的编程逻辑和功能,提升代码的质量和可维护性。你在实际开发中可以根据具体需求,选择合适的方法来满足业务需求,并不断探索它们的更多应用场景。
6 1
|
23天前
|
JavaScript
js学习--制作选项卡
js学习--制作选项卡
34 4
|
22天前
|
JavaScript
js学习--商品列表商品详情
js学习--商品列表商品详情
14 2
|
22天前
|
JavaScript
js学习--九宫格抽奖
js学习--九宫格抽奖
15 2
|
22天前
|
JavaScript
js学习--开屏弹窗
js学习--开屏弹窗
31 1
|
22天前
|
JavaScript
js学习--抽奖
js学习--抽奖
11 1
|
22天前
|
JavaScript
js学习--隔行换色
js学习--隔行换色
28 1
|
21天前
|
JavaScript 前端开发 容器
js之dom学习
js之dom学习
27 0