JS--函数

2017-11-22  本文已影响11人  nickName0

JS--函数

函数的定义

abs()函数的定义如下:
function指出这是一个函数定义;
abs是函数的名称;
(x)括号内列出函数的参数,多个参数以,分隔;
{ ... }之间的代码是函数体,可以包含若干语句,甚至可以没有任何语句。

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去调用该函数

实际上arguments最常用于判断传入参数的个数,也可以控制可选参数的赋值问题,如以下写法:

// foo(a[, b], c)
// 接收2~3个参数,b是可选参数,如果只传2个参数,b默认为null:
function foo(a, b, c) {
    if (arguments.length === 2) {
        // 实际拿到的参数是a和b,c为undefined
        c = b; // 把b赋给c
        b = null; // b变为默认值
    }
    // ...
}

五,rest参数
ES6标准引入了rest参数:可以直接获取除了定义参数之外的其他参数集合,rest参数只能写在最后,前面用...标识,用法如下

//resert参数

function resetParamsFunction(x,y,z,...rest) {

    console.log(rest);
}

resetParamsFunction(1,2,3,4,5,6,7,8, 'zzz','yyy','xx',);//输出:[ 4, 5, 6, 7, 8, 'zzz', 'yyy', 'xx' ],

六,特别注意return
JavaScript引擎有一个在行末自动添加分号的机制,所以下面这个函数是有问题的

function foo() {
   return
       { name: 'foo' };//return 和 返回值分行写,则永远不会返回该值,直接返回undefined
}
上一篇 下一篇

猜你喜欢

热点阅读