2024年10月8日 14:11

This commit is contained in:
许大仙 2024-10-08 06:11:22 +00:00
parent 9cc7eae090
commit de19c7f8be

View File

@ -1362,6 +1362,49 @@ int main() {
## 2.5 回调函数 ## 2.5 回调函数
### 2.5.1 概述
* 所谓的`回调函数`就是将函数作为参数传递给另一个函数的方式,以便该函数在某个事件发生后调用这个函数。
### 2.5.2 JavaScript 语言中的回调函数
* 在 JavaScript 中函数是一等公民(头等公民),这意味着函数可以像变量一样传递。
> [!NOTE]
>
> JavaScript 中的函数广泛应用于异步编程(如:处理用户事件、网络请求等),是因为 JavaScript 是单线程的,异步操作不会阻塞主线程运行,而是通过回调函数在异步任务完成后执行。
* 示例:
```c {20}
/**
* @param name
* @param callback 接受一个回调函数作为参数
*/
function greet(name, callback) {
console.log('Hello, ' + name);
callback();
}
/**
* 回调函数
*/
function done() {
console.log('Callback function executed.');
}
/**
* done 是一个回调函数
*/
greet('John', done);
```
### 2.5.3 C 语言中的回调函数
* C 语言本身没有异步编程的直接支持,回调函数一般用于同步操作中,回调函数往往是立即调用的。异步操作通常通过多线程或事件驱动编程模型实现,回调函数可以通过这种方式延迟执行,如:在操作系统中,回调函数用于处理硬件中断、信号等。