我正在尝试为两个或多个参数创建一个函数。但是我不明白为什么要使用sym([1,2,3],[5,2,1,4]);
function sym(args) {
return args;
}
只返回[1、2、3]
但
function sym(args) {
return args;
}
返回{0:[1,2,3],1:[5,2,1,4]}。
和
function sym(args) {
args = arguments;
console.log(args);
}
返回{0:[Circular],1:[5,2,1,4]}
最佳答案
您正在使用一个名为args
的单个参数定义一个函数。您要查找的内容称为可变参数(或可变参数),表示“ 0个或多个参数”。
使用rest parameters:
function sym(...args) {
return args;
}
或者,如果您使用的是旧版JavaScript,请使用
arguments
:function sym() {
return Array.from(arguments);
}
最后一个例子实际上很漂亮。当您执行
args = arguments
(在严格模式下除外)时,您将隐式修改arguments
并为其提供引用(因此为[circular]
)。我热烈推荐strict mode以避免这些怪癖。关于javascript - 访问多个参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52929983/