形如
function abs(x) { if (x >= 0) { return x; } else { return -x; } }
或
var abs = function (x) { if (x >= 0) { return x; } else { return -x; } };
如上所表达的函数为一个匿名函数,它没有函数名,该函数赋值给变量abs
,通过变量名来调用该函数
上述两种定义完全等价,注意第二种方式按照完整语法需要在函数体末尾加一个;
,表示赋值语句结束。
abs(10); // 返回10 abs(-9); // 返回9
关键字arguments
只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数。
function foo(x) { console.log('x = ' + x); // 10 for (var i=0; i<arguments.length; i++) { console.log('arg ' + i + ' = ' + arguments[i]); // 10, 20, 30 } } foo(10, 20, 30);