模板
function abs(x) { if (x >= 0) { return x; } else { return -x; } }
可以看到,不需要声明函数返回值。
没有return语句,函数执行完毕后也会返回结果,只是结果为undefined
abs()函数实际上是一个函数对象,而函数名abs可以视为指向该函数的变量
var abs = function (x) { if (x >= 0) { return x; } else { return -x; } };
注意:由于JavaScript允许传入任意个参数而不影响调用,因此传入的参数比定义的参数多也没有问题,虽然函数内部并不需要这些参数。
内部成员,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); x = 10 arg 0 = 10 arg 1 = 20 arg 2 = 30