1:使用es6的rest参数
function add(...arg) {
return arg.reduce((pre,cur) => {
return cur + pre
}, 0)
}
console.log(add(1,2,3,4))
2:使用参数集合arguments(因为arguments不是一个数组,所以要先转换成数组)
function add() {
var arg = [].slice.call(arguments) // 因为argumemts没有slice方法,所以使用call改变this指向
// var arg = [...arguments] 或者使用扩展运算符
return arg.reduce((pre,cur) => {
return cur + pre
}, 0)
}
console.log(add(1,2,3,4))