JAVAScript 中的函数定义和调用

函数定义

第一种定义函数的方式

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' }; // 这行语句已经没法执行到了
}
上一篇:javascript内置对象arguments详解


下一篇:JavaScript 系列六:函数