js求和運算在可變參數的狀況下ES三、ES5和ES6的寫法區別

//ES三、ES5的寫法
function foo(){
    var arr = Array.prototype.slice.call(arguments);
    var sum = 0;
    arr.forEach(function(item){
        sum += item;
    }); 

    return sum;
}

console.log(foo(1, 2, 3));    //6

//ES6的寫法
function foo(...arr){    //arr就是可變參數列表
    let sum = 0;
    arr.forEach(item => {
        sum += item;
    });

    return sum;
}

console.log(foo(1, 2, 3));    //6

從以上代碼來看,ES6的寫法就簡便不少。其中Array.prototype.slice.call(arguments)可以將arguments轉成數組,而三個點「...」是ES6的擴展運算符。數組

相關文章
相關標籤/搜索