函数定义
第一种定义函数的方式
function abs(x) {
if (x >= 0) {
return x;
} else {
return -x;
}
}
第二种定义函数的方式
var abs = function(x){
if(...)
return x;
else
return x;
};
两种方式完全等价,第二种需要在定义的最后加一个";"表示结束
调用函数
直接调用,并传入参数即可,
传入的参数多,将只调用第一个参数,传入的参数少,会报:NAN,此时的参数x,将收到undefined.
arguments关键字
只在 函数内起作用,并且永远指向 当前函数调用者传入的所有参数,arguments类似一个Array,但是并不是一个Array
arguments.length可以获得参数列表的数量
arguments[n],获取到参数列表的第n个参数,注意,下标从0开始
rest参数
function foo(a, b, ...rest) {
console.log('a = ' + a);
console.log('b = ' + b);
console.log(rest);
}
调用时传入的参数先绑定,a,b,剩下的参数以数组的形式交给rest,rest是数组实例
return语句
因为javascript引擎有一个在行末自动添加分号的机制,所以在定义函数时,我们 应当
function foo() {
return { // 这里不会自动加分号,因为{表示语句尚未结束
name: 'foo'
};
}
不应该
function foo() {
return; // 自动添加了分号,相当于return undefined;
{ name: 'foo' }; // 这行语句已经没法执行到了
}