我正在尝试为两个或多个参数创建一个函数。但是我不明白为什么要使用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/

10-14 12:21
查看更多