JavaScript 可变数量的函数参数
2022-08-29 22:40:31
有没有办法在JavaScript中允许函数的“无限”vars?
例:
load(var1, var2, var3, var4, var5, etc...)
load(var1)
有没有办法在JavaScript中允许函数的“无限”vars?
例:
load(var1, var2, var3, var4, var5, etc...)
load(var1)
当然,只需使用对象即可。arguments
function foo() {
for (var i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
}
在(大多数)最新的浏览器中,您可以使用以下语法接受可变数量的参数:
function my_log(...args) {
// args is an Array
console.log(args);
// You can pass this array as parameters to another function
console.log(...args);
}
下面是一个小示例:
function foo(x, ...args) {
console.log(x, args, ...args, arguments);
}
foo('a', 'b', 'c', z='d')
=>
a
Array(3) [ "b", "c", "d" ]
b c d
Arguments
0: "a"
1: "b"
2: "c"
3: "d"
length: 4
此处的文档和更多示例:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters