一文彻底理解JS回调函数
作者:木棉时间:2026-10-26 07:42:36浏览:542
本文深入解析JavaScript中回调函数的核心概念,通过代码示例说明函数如何作为参数传递,并详细阐述处理回调函数传参的两种解决方案,帮助开发者掌握组件开发中的关键技巧。
一、前奏
在探讨回调函数之前,我们先观察以下两段代码: 不妨猜测一下代码的执行结果。
function say (value) {
alert(value);
}
alert(say);
alert(say('hi js.'));
如果你进行了测试,就会发现:
仅书写变量名 say 返回的是 say 方法本身,以字符串形式呈现。
而在变量名后添加括号如 say() 返回的则是 say 方法调用后的结果,此处为弹出 value 的值。
二、js中函数可以作为参数传递
再看下面的两段代码:
function say (value) {
alert(value);
}
function execute (someFunction, value) {
someFunction(value);
}
execute(say, 'hi js.');
与
function execute (someFunction, value) {
someFunction(value);
}
execute(function(value){alert(value);}, 'hi js.');
上面第一段代码是将 say 方法作为参数传递给 execute 方法 第二段代码则是直接将匿名函数作为参数传递给 execute 方法
实际上:
function say (value) {
alert(value);
}
// 注意看下面,直接写say方法的方法名与下面的匿名函数可以认为是一个东西
// 这样再看上面两段代码是不是对函数可以作为参数传递就更加清晰了
say;
function (value) {
alert(value);
}
这里的say或者匿名函数就被称为回调函数。
三、回调函数易混淆点——传参
如果回调函数需要传参,如何做到,这里介绍两种解决方案。
- 将回调函数的参数作为与回调函数同等级的参数进行传递

- 回调函数的参数在调用回调函数内部创建

四、写在最后
回调函数应用场景多用在使用 js 写组件时,尤其是组件的事件很多都需要回调函数的支持。 关于回调函数还有什么问题可以在下面留言,一起交流。
到此这篇关于一文彻底理解JS回调函数的文章就介绍到这了,更多相关js回调函数内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
作者最新文章
JS合并多个数组的三种方法:concat、spread与flat
2026-11-05 17:39:45
JavaScript怎么准确判断数据类型:typeof、instanceof与Object.prototype.toString
2026-11-05 17:09:21
JS中将数组和对象混合组装为JSON字符串
2026-11-05 16:41:42
JS运算符优先级与结合性的区别是什么?
2026-11-05 13:22:02
JS Map怎么只遍历Key或Value
2026-11-05 13:00:36
