JavaScript 函数
阐述
语法
函数定义可以使用三种不同的方法:
- 定义语句:包括函数名、参数列表、语句块
- 函数表达式:可以省略函数名,然后把它赋值给一个变量
Function
构造函数:从字符串动态创建函 数
语义
JavaScript 使用传值调用,如果在函数内部重新赋值,不会影响调用者;但是可以修改这个值。
函数的定义和调用的顺序是无关的,因为函数的定义会被自动提升。
实例
函数提升
只有使用定义语句时才能提升:
console.log(square(5)); // 25
function square(n) {
return n * n;
}
性质
相关内容
参考文献
函数调用
我们可以传入比定义多或少的参数,多的没有问题,但少则收到 undefined
,为此可以检查;
传入的所有参数可以用 arguments
获得:
function foo(x) {
for (var i=0; i<arguments.length; i++) {
console.log('arg ' + i + ' = ' + arguments[i]); // 10, 20, 30
}
}
它经常用来判断参数个数。
rest
参数
我们可以用三个点标识其他参数:
function foo(a, b, ...rest) {
console.log('a = ' + a);
console.log('b = ' + b);
console.log(rest);
}
此时 rest
是一个列表。相反,如果没有填满则会返回一个空列表。