回调函数是将函数作为参数传入另一函数,待操作完成后再执行;JavaScript因单线程非阻塞特性依赖它处理异步任务、事件驱动及避免主线程阻塞,虽有回调地狱问题,但Promise等演进仍基于其思想。
回调函数就是把一个函数当作参数传给另一个函数,等某个操作完成后再执行它。JavaScript 常用它,是因为这门语言是单线程、非阻塞的——它不等任务做完才继续跑代码,而是先安排好“做完后干啥”,然后立刻去处理别的事。
它没有特殊语法,就是一个普通函数,只是被当成值传递进去。比如:
setTimeout(function() { console.log("3秒后执行"); }, 3000);这里的 function() {...} 就是回调函数,它不会立刻运行,而是在 3 秒后由 setTimeout 主动调用。
写多了回调容易出现“回调地狱”(嵌套太深、难读难维护),所以后来发展出了 Promise、async/await。但它们底层仍是基于回调的思想——只是让写法更清晰、错误处理更统一。理解回调,是看懂现代 JS 异步逻辑的起点。