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