JavaScript中函数是一等公民,可赋值、传参、返回和参与表达式,支撑回调、事件驱动与函数式编程等核心范式。

因为 JavaScript 中的函数可以像普通值一样被赋值、传参、返回和存储,所以它是一等公民。这种设计让函数不再只是“执行一段代码的工具”,而是真正参与程序数据流的核心角色。
能赋值给变量和属性
函数可以像字符串或数字一样,直接赋给变量、对象属性甚至数组元素。这打破了传统语言中“函数必须有名字且独立存在”的限制。
- let greet = function() { console.log("Hello"); }; —— 匿名函数存入变量
- const obj = { action: function() { return "done"; } }; —— 函数作为对象方法动态挂载
- const handlers = [() => 1, (x) => x * 2]; —— 多个函数存进数组,统一调度
能作为参数传递(高阶函数)
函数可以当参数传给另一个函数,这是实现抽象、复用和定制行为的基础。比如数组的 map、filter、reduce 全都依赖这一点。
- [1, 2, 3].map(x => x ** 2) —— 把计算逻辑交给调用者决定
- setTimeout(() => alert("done"), 1000) —— 延迟执行的具体动作由你提供
- 自定义封装:function retry(fn, times) { /* 调用 fn 若失败则重试 */ } —— fn 就是传入的行为本身
能从函数中返回函数(闭包与工厂)
返回函数不仅支持状态封装,还能生成行为一致但配置不同的新函数,天然适配“配置即代码”场景。
标签: react javascript java js 工具 作用域 为什么 red
还木有评论哦,快来抢沙发吧~