js函数

js函数


定义函数

js函数的两种定义方法:

function abs(x) {
    if (x >= 0) {
        return x;
    } else {
        return -x;
    }
}

这种方法定义的函数是一个匿名函数

var abs = function (x) {
    if (x >= 0) {
        return x;
    } else {
        return -x;
    }
};

调用函数

通过变量abs就可以调用该函数

注意:注意第二种方式按照完整语法需要在函数体末尾加一个 ;

JavaScript允许传入任意个参数而不影响调用

abs(10, 'blablabla'); // 返回10
abs(-9, 'haha', 'hehe', null); // 返回9
abs(); // 返回NaN

argument

arguments,它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数。arguments类似Array但它不是一个Array

要把中间的参数b变为“可选”参数,就只能通过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参数

function foo(a, b, ...rest) {
    console.log('a = ' + a);
    console.log('b = ' + b);
    console.log(rest);
}

foo(1, 2, 3, 4, 5);
// 结果:
// a = 1
// b = 2
// Array [ 3, 4, 5 ]

foo(1);
// 结果:
// a = 1
// b = undefined
// Array []
  • [ ] 用rest参数编写一个sum()函数,接收任意个参数并返回它们的和:
function sum(...rest) {
   var result = 0;
   rest.forEach(function (v) {
        result += v;
   })
   return result;
}
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页