JavaScript定义函数主要有三种常见方式:函数声明(具名、可提升)、函数表达式(可匿名、不提升)和箭头函数(无this绑定、语法简洁)。

JavaScript 中定义函数主要有三种常见方式:函数声明、函数表达式和箭头函数。它们在语法、作用域行为和使用场景上各有特点。
函数声明(Function Declaration)
使用 function 关键字 + 函数名 + 参数列表 + 函数体来定义,会被“提升”(hoisted),即可以在定义前调用。
例如:
婚纱影楼小程序提供了一个连接用户与影楼的平台,相当于影楼在微信的官网。它能帮助影楼展示拍摄实力,记录访客数据,宣传优惠活动。使用频率高,方便传播,是影楼在微信端宣传营销的得力助手。功能特点:样片页是影楼展示优秀摄影样片提供给用户欣赏并且吸引客户的。套系页是影楼根据市场需求推出的不同套餐,用户可以按照自己的喜好预定套系。个人中心可以查看用户预约的拍摄计划,也可以获取到影楼的联系方式。
return 'Hello, ' + name;
}
注意:函数声明必须有名字,且不能出现在条件语句或循环内部(严格模式下会报错)。
立即学习“Java免费学习笔记(深入)”;
函数表达式(Function Expression)
把函数赋值给一个变量,可以是匿名的,也可以有名字(用于调试或递归)。不会被提升,必须先定义后调用。
例如:
const add = function(a, b) {return a + b;
};
或者带名字的表达式:
const factorial = function fact(n) {return n };
箭头函数(Arrow Function)
ES6 引入的简写形式,没有自己的 this、arguments、super 或 new.target,适合写简洁回调或不依赖上下文的逻辑。
基本写法:
- 无参数:() => console.log('Hi');
- 单参数可省括号:x => x * 2;
- 多参数需括号:(a, b) => a + b;
- 函数体多行需大括号和 return:(a, b) => { return a + b; };
其他方式(较少用但存在)
比如 Function 构造函数(动态生成函数,性能差且不推荐)、类中的方法、对象字面量里的方法简写等,日常开发中以前三者为主。
基本上就这些。选哪种取决于是否需要提升、是否要绑定 this、代码可读性要求以及团队规范。









