JavaScript中函数是一等公民,可赋值给变量、作为参数传递、从函数返回、存入数据结构,与基本类型同等自由操作。

函数在 JavaScript 中是一等公民,意思是它和数字、字符串、对象一样,能被自由地操作和传递,没有特殊限制。
能像普通值一样赋值给变量
函数可以存进变量里,随时调用,不依赖名字或声明位置:
- const sayHi = function(name) { return `Hello, ${name}`; };
- const greet = sayHi; // 直接赋值,不是调用(没加括号)
- greet("Alice"); // → "Hello, Alice"
能作为参数传给其他函数
这是回调机制的基础,也是异步和事件处理的核心方式:
- setTimeout(() => console.log("done"), 1000);
- [1, 2, 3].map(x => x * 2);
- button.addEventListener("click", () => alert("clicked"));
能从函数中返回出来
返回函数是构建闭包、实现工厂模式和柯里化的关键:
立即学习“Java免费学习笔记(深入)”;
- function makeAdder(x) { return y => x + y; }
- const add5 = makeAdder(5);
- add5(3); // → 8
还能存进数据结构里
数组、对象、Map 等都能直接收纳函数,让逻辑组织更灵活:
- const handlers = { save: () => api.save(), load: () => api.load() };
- handlers.save();
- const tasks = [() => console.log("A"), () => console.log("B")];
- tasks.forEach(task => task());



















