JavaScript定义函数主要有三种常见方式:函数声明(具名、可提升)、函数表达式(可匿名、不提升)和箭头函数(无this绑定、语法简洁)。
JavaScript 中定义函数主要有三种常见方式:函数声明、函数表达式和箭头函数。它们在语法、作用域行为和使用场景上各有特点。
使用 function 关键字 + 函数名 + 参数列表 + 函数体来定义,会被“提升”(hoisted),即可以在定义前调用。
例如:
function greet(name) {注意:函数声明必须有名字,且不能出现在条件语句或循环内部(严格模式下会报错)。
把函数赋值给一个变量,可以是匿名的,也可以有名字(用于调试或递归)。不会被提升,必须先定义后调用。
例如:
const add = function(a, b) {或者带名字的表达式:
const factorial = function fact(n) {ES6 引入的简写形式,没有自己的 this、arguments、super 或 new.target,适合写简洁回调或不依赖上下文的逻辑。
基本写法:
比如 Function 构造函数(动态生成函数,性
能差且不推荐)、类中的方法、对象字面量里的方法简写等,日常开发中以前三者为主。
基本上就这些。选哪种取决于是否需要提升、是否要绑定 this、代码可读性要求以及团队规范。