回调函数是作为参数传入并由其他函数在适当时机调用的普通函数,用于支持异步操作和事件驱动;常见于addEventListener、setTimeout、Promise等API中。

JavaScript 中函数定义很简单,回调函数本质上也是函数,特别之处在于“谁调用它”和“什么时候调用它”。
函数定义的几种常见方式
JavaScript 支持多种函数定义语法,核心都是创建可执行的代码块:
-
函数声明:用
function关键字开头,会被提升(hoisted),可在定义前调用。
function sayHello(name) { return 'Hello, ' + name; } -
函数表达式:把函数赋值给变量,不会提升,必须先定义再使用。
const sayHi = function(name) { return 'Hi, ' + name; }; -
箭头函数:简洁写法,没有自己的
this、arguments,也不能用作构造函数。
const add = (a, b) => a + b;
回调函数不是特殊类型,而是特殊用法
所谓“回调”,是指把一个函数作为参数传给另一个函数,并由后者在合适时机主动执行它。它没有语法上的特殊标记,只是一种设计模式。
- 回调函数通常不立即执行,而是“等一等”,比如等待点击、定时、数据加载完成之后才运行。
- 它让 JavaScript 能自然支持异步操作和事件驱动,比如:
button.addEventListener('click', function() { console.log('被点了'); }); - 常见内置 API 都接受回调:
setTimeout、map、fetch().then()、Promise链中的then和catch。
写回调时要注意的关键点
回调看着简单,但容易出错,尤其涉及异步和作用域时:
标签: javascript java 回调函数 ai 作用域
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~