javascript中的call、apply、bind的区别

call

为何使用 call? 当我们期望从一个对象借用某个函数,并将其运用到另一个对象上时,就会用到 call 。

call 是什么? call 是一种能让不同对象使用某个函数的手段,就好像该对象原本就具备这个函数。

call 怎样运作? 从一个对象获取一个函数,然后用另一个对象去调用它,并向函数表示:“嘿,把这个其他对象当作你的 this 。”

示例: 设想您有两个朋友,小敏和小刚。小敏清楚如何进行自我介绍,但小刚不了解。您能够借助小敏的方式来协助小刚。

const alice = {
  name: 'Alice',
  introduce: function(greeting) {
    console.log(`${greeting}, my name is ${this.name}`);
  }
};
​
const bob = { name: 'Bob' };
​
alice.introduce.call(bob, 'Hello'); // 输出: Hello, my name is Bob

apply

为何使用 apply? 我们使用 apply 的原因和 call 相同,只不过是在想要以数组形式传递参数的时候。

apply 是什么? apply 与 call 相似,但它接收的是数组形式的参数,而非单个的参数。

apply 怎样运作? 从一个对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幻想多巴胺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值