«

JavaScript call/apply/bind区别快速上手指南(2026最新整理)

时间:2026-11-2 09:16     作者:emer     分类: 无


call/apply/bind区别是JavaScript生态里一个高频出现的知识点。网上关于它的资料不少,但要么太零散,要么太晦涩。本文尝试用尽量直白的方式把它讲清楚。

第一步:先搞懂call/apply/bind区别是什么

定期回顾自己写的call/apply/bind区别相关代码,随着经验增长总能发现改进空间。

call/apply/bind区别的默认值要搞清楚,很多 bug 都是「我以为默认是……」造成的。

第二步:动手实现call/apply/bind区别

call / apply / bind 区别:

function greet(greeting, punct) {
  return `${greeting}, ${this.name}${punct}`;
}
const person = { name: '李四' };

// call:立即执行,参数逐个传
console.log(greet.call(person, '你好', '!'));

// apply:立即执行,参数用数组传
console.log(greet.apply(person, ['早上好', '~']));

// bind:不执行,返回绑好 this 的新函数
const sayHi = greet.bind(person, '嗨');
console.log(sayHi('~'));

第三步:验证与调优

写在最后

以上就是本文关于JavaScript中call/apply/bind区别的全部内容。掌握这些知识点后,相信你在实际开发中会更加得心应手。如果在实践中遇到问题,欢迎交流讨论。


遇见问题加 QQ23979811 协助处理

标签: 编程教程 JavaScript