2

ES6的新方法,引入rest参数(形式为...变量名),用于获取函数的多余参数,这样就不需要arguments对象。

function add(...values) {
    let sum = 0

    for(let val of values) {
        sum += val
    }

    return sum
}

add(2, 5, 3)    // 10

利用rest参数,可以向该函数传入任意数目的参数

  • 代替arguments变量的例子
//arguments
function sortNumbers() {
    return Array.prototype.slice.call(arguments).sort()
}

//rest
const sortNumbers = (...numbers) => numbers.sort()

rest参数是一个真正的数组
注意:rest参数之后不能再有其他参数(即只能是最后一个参数),函数的length不包括rest参数


zhanziwei
75 声望1 粉丝

« 上一篇
BFC浅谈
下一篇 »
JavaScript闭包