首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >js学习之call和apply

js学习之call和apply

作者头像
阿超
发布2022-08-16 16:30:53
发布2022-08-16 16:30:53
1.1K0
举报
文章被收录于专栏:快乐阿超快乐阿超

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

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

代码语言:javascript
复制
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不同,它调用方法给的参数需要是一个数组

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

否则会抛出异常

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档