在 JavaScript 编程中,“回调函数”(Callback Function)是一个非常基础又重要的概念。它允许我们将一个函数作为参数传递给另一个函数,并在特定时机被调用。
简单来说,回调函数就是一个被当作参数传入其他函数的函数,并在某个操作完成后执行。这种模式广泛用于处理异步操作,如网络请求、文件读取、定时器等。
function greet(name, callback) {
console.log('Hello ' + name);
callback();
}
function sayGoodbye() {
console.log('Goodbye!');
}
greet('Alice', sayGoodbye);
例如使用 setTimeout 模拟异步操作:
function fetchData(callback) {
setTimeout(() => {
const data = { message: 'Data loaded!' };
callback(data);
}, 1000);
}
fetchData(function(result) {
console.log(result.message); // 1秒后输出
});
当多个异步操作需要依次执行时,容易形成嵌套过深的“回调地狱”。现代 JavaScript 已通过 Promise 和 async/await 提供更优雅的解决方案。
虽然如今有更先进的异步处理方式,但理解回调函数仍是掌握 JavaScript 异步编程的关键一步。它体现了“函数是一等公民”的语言特性,也是很多 API 设计的基础。