JavaScript 匿名函数
除了前面那样定义拥有名称的函数,在 JavaScript 中还可以创建匿名函数(anonymous functions),也称为函数表达式。
函数表达式非常类似于函数声明,并且两者拥有几乎相同的语法。函数表达式与函数声明的最主要区别是函数名称,在函数表达式中可省略它。
例如,下面的代码定义了一个函数 doCalc()
,它接受 3 个参数。前两个参数应该是数值,第 3 个参数是一个将被调用,并把这两个数值作为参数传入的函数:
function doCalc(num1, num2, calcFunction) {
return calcFunction(num1, num2);
}
为此,你定义了一个函数 addFunc()
,然后将不带参数的函数名传递给 doCalc()
,如下:
function addFunc(n1, n2) {
return n1 + n2;
}
doCalc(5, 10, addFunc);
除此之外,其实你还可以选择在 doCalc()
的调用中直接使用一个匿名函数,例如:
console.log( doCalc(5, 10, function(n1, n2){ return n1 + n2;}) );
console.log( doCalc(5, 10, function(n1, n2){ return n1 * n2;}) );
显然,匿名函数的好处是简单方便,你不需要正式定义将不在代码的其他任何地方使用的东西。因此,合理使用匿名函数,能使 JavaScript 代码更简洁易读。