我对JavaScript中的参数对象概念非常陌生,并试图从this tutorial理解概念。
文档中的以下示例说明如下。
function func1(a, b, c) {
console.log(arguments[0]);
// expected output: 1
console.logr(arguments[1]);
// expected output: 2
console.log(arguments[2]);
// expected output: 3
}
func1(1, 2, 3);
但是我无法理解这个概念的重要性,在什么情况下我们最常使用这个概念?
请问我在手机上打字时遇到的问题格式问题。
答案 0 :(得分:4)
arguments对象在可能具有可变数量的参数的情况下很有用:
function sumAll() {
var res = 0;
for (var i = 0; i < arguments.length; i++) {
res += arguments[i];
}
return res;
}
console.log(sumAll(3)); // 3
console.log(sumAll(3, 4, 5)); // 12
但是,由于ES6是2015年标准化的javascript版本(也称为ES2015),因此您可以使用rest参数语法来简化此操作:
function sumAll(...args) {
var res = 0;
for (var i = 0; i < args.length; i++) {
res += args[i];
}
return res;
}
console.log(sumAll(3)); // 3
console.log(sumAll(3, 4, 5)); // 12
因此不再需要arguments对象。