【C语言干货】回调函数
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、回调函数的基本概念
- 二、回调函数的常见应用场景
- 总结
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、回调函数的基本概念
1. 什么是回调函数?
回调函数(Callback Function)是指作为参数传递给另一个函数的函数,并在特定条件满足或事件发生时被调用执行的函数。回调函数允许我们在异步操作完成后执行特定代码。
2. 回调函数的特点
-
函数作为参数:回调函数本质上是作为参数传递的函数
-
延迟执行:回调函数不会立即执行,而是在特定条件满足时被调用
-
控制反转:主函数控制何时调用回调函数
-
灵活性:可以动态改变程序行为
3. 简单示例
// 定义一个接收回调函数的函数
function greet(name, callback) {console.log(`Hello, ${name}!`);callback(); // 调用回调函数
}// 定义回调函数
function sayGoodbye() {console.log('Goodbye!');
}// 使用回调
greet('Alice', sayGoodbye);/*
输出:
Hello, Alice!
Goodbye!
*/
二、回调函数的常见应用场景
1. 事件处理
javascript
复制
下载
// DOM事件回调 document.getElementById('myButton').addEventListener('click', function() {console.log('Button clicked!'); });
2. 定时器
javascript
复制
下载
// setTimeout回调 setTimeout(function() {console.log('This runs after 1 second'); }, 1000);
3. 网络请求
javascript
复制
下载
// 传统XMLHttpRequest回调 function fetchData(url, successCallback, errorCallback) {const xhr = new XMLHttpRequest();xhr.open('GET', url);xhr.onload = function() {if (xhr.status === 200) {successCallback(xhr.response);} else {errorCallback(new Error(xhr.statusText));}};xhr.onerror = function() {errorCallback(new Error('Network Error'));};xhr.send(); }
4. Node.js中的I/O操作
javascript
复制
下载
// Node.js文件读取回调 const fs = require('fs');fs.readFile('example.txt', 'utf8', function(err, data) {if (err) {console.error('Error:', err);return;}console.log('File content:', data); });