当前位置: 首页 > news >正文

Javascript什么是回调函数?

强烈建议看完本文章后再看一次箭头函数用法

关于Javascript ES6箭头函数用法的分析,函数声明的几个方式-CSDN博客

一、什么是回调函数?

✅ 一、什么是回调函数?

回调函数(Callback Function)被当作参数传入另一个函数,并且在未来某个时间由那个函数调用的函数。

📌 一句话记住:

“不是你主动调用它,而是别的函数帮你调用它。”


✅ 二、你举的例子拆解分析


📍 例子 1:map()

[1, 2, 3].map((item) => item * 2);
  • map() 是数组的方法。

  • 它接收一个函数作为参数,对数组的每个元素调用这个函数。

  • 你传进去的是这个箭头函数 (item) => item * 2

  • 所以这个箭头函数就是一个 回调函数

✅ 解释流程:
const nums = [1, 2, 3];
const doubled = nums.map(function(item) {// 回调函数由 map 自动调用,每个 item 都执行一次return item * 2;
});
console.log(doubled); // [2, 4, 6]

📍 例子 2:setTimeout

setTimeout(() => console.log('ok'), 1000);
  • setTimeout() 是定时器函数。

  • 它会在 1 秒后“自动调用”你传进去的函数。

  • 所以箭头函数是一个 回调函数(它是由系统调用的,不是你手动调用的)。


📍 例子 3:then()

fetch('/api').then(res => res.json());
  • then() 是 Promise 的方法。

  • 你传给 then() 的箭头函数,会在 fetch 请求完成、拿到响应数据后由系统调用。

  • 所以这个函数也是一个 回调函数


✅ 三、回调函数的本质定义(图解)

你写的函数 ——> 被“传进去” ——> 由别人“调用” ——> 就是回调

比如:

function sayHello(callback) {console.log("准备调用你传入的函数");callback(); // 你传的函数在这里被执行!
}sayHello(() => {console.log("你好,我是回调函数!");
});

输出:

准备调用你传入的函数
你好,我是回调函数!

✅ 四、回调函数 VS 普通函数 的区别

类型谁调用它?什么时候执行?
普通函数你自己调用你代码中写在哪就执行到哪
回调函数别人(系统/函数)调用事件发生、延迟完成、请求返回时


✅ 五、拓展:回调函数的应用场景

场景回调函数作用
异步操作setTimeout(fn)fetch().then(fn)
数组遍历map(fn)filter(fn)
事件监听button.addEventListener('click', fn)
自定义函数参数runTask(fn)


✅ 总结一句话:

回调函数是“你写、别人调”的函数,用于延迟、异步、事件响应等场景中,非常常见,尤其在 JavaScript 中,是核心编程思想之一。


如果你想做一个小项目体验回调函数(比如按钮点击、延迟打印、多步异步操作),我可以带你一步步写。要不要试试看?

相关文章:

  • LangChain面试内容整理-知识点13:输出解析(OutputParser)模块
  • Seata的事务隔离级别是如何保证的?
  • 案例:塔能科技智启某市光域,勾勒城市照明宏图
  • NY248NY254美光科技闪存NY258NY261
  • 使用 C# 源生成器(Source Generators)进行高效开发:增强 Blazor 及其他功能
  • 地理空间视角下的 SIR 传染病模型模拟与可视化
  • xilinx gt的RX EQ
  • C++ QT开发学习指南-从入门到实战项目
  • 浏览器的组成部分与工作原理
  • Spring Boot中Controller层规划与最佳实践详解
  • Docker全平台安装指南:从零到一构建容器化环境(满级版)
  • OVS Faucet Tutorial笔记(下)
  • CQF预备知识:Python相关库 -- 通用非均匀随机数抽样 scipy.stats
  • [架构之美]解决Windows 10主机与Windows 10虚拟机之间无法拖拽复制问题
  • 黑马教程强化day3-1
  • 如何写出优秀的单元测试?
  • YOLOv3 的网络结构详解
  • 【Docker基础】Docker核心概念:资源隔离详解
  • [学习] 多项滤波器在信号插值和抽取中的应用:原理、实现与仿真(完整仿真代码)
  • [直播推流] 本地创建 nginx服务器
  • 南宁做网站开发的公司/百度推广首页登录
  • 经销商城建站/免费b站推广网站在线
  • wordpress php.ini在哪/广州网站建设方案优化
  • 网站代理登录网址/网络销售怎么才能找到客户
  • 网络宣传广告费多少/seo是什么seo怎么做
  • 做网站的属于什么行业/seo优化方向