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

相关文章
|
10天前
|
JavaScript
js学习--制作猜数字
js学习--制作猜数字
31 4
js学习--制作猜数字
|
10天前
|
JavaScript
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
这篇文章介绍了如何将webpack的配置文件分离成开发环境和生产环境的配置文件,以提高打包效率。
20 1
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
|
10天前
|
JavaScript
js学习--制作选项卡
js学习--制作选项卡
30 4
|
10天前
|
JavaScript
js学习--商品列表商品详情
js学习--商品列表商品详情
11 2
|
10天前
|
JavaScript
js学习--九宫格抽奖
js学习--九宫格抽奖
8 2
|
10天前
|
JavaScript
js学习--开屏弹窗
js学习--开屏弹窗
20 1
|
10天前
|
JavaScript
js学习--抽奖
js学习--抽奖
8 1
|
10天前
|
JavaScript
js学习--隔行换色
js学习--隔行换色
19 1
|
15天前
|
JavaScript 前端开发
js 中call()和apply()
js 中call()和apply()
26 1
|
9天前
|
JavaScript 前端开发 容器
js之dom学习
js之dom学习
16 0