javascript定义参数

时间:2018-07-28 20:04:11

标签: javascript function arguments

我试图在JS中创建一个函数,该函数需要很多参数,但并不总是使用所有参数。我想做的是定义我要引用的论点。这就是我的想法,但无法按我希望的那样工作。

function foo(arg1, arg2, arg3){
let arg1 = arg1;
let arg2 = arg2;
let arg3 = arg3;

}

foo(arg2:'sets value of arg2');

我希望能够跳过第一个位置的参数,而只传递第二个参数的信息。我该怎么办?

3 个答案:

答案 0 :(得分:1)

您可以spread syntax ...使用所需参数的值的稀疏数组,而无需更改函数的签名。

function foo(arg1, arg2, arg3){
    console.log(arg1, arg2, arg3)
}

foo(...[, 42]);

或将具有键的对象用于指定元素

function foo(arg1, arg2, arg3){
    console.log(arg1, arg2, arg3)
}

foo(...Object.assign([], { 1: 42 }));

答案 1 :(得分:0)

尝试一下:

这将要求调用者传递一个对象。

function foo({arg, arg2}={}) {
  let arg_1 = arg;
  let arg_2 = arg2;
  
  console.log(arg_1);
  console.log(arg_2);
  // Code
}

foo({arg2: 2});

如果您需要设置默认参数,可以通过function foo({arg = '', arg2 = ''}={})

答案 2 :(得分:0)

如果不需要,您可以传入null作为某些参数。

function foo(arg1, arg2, arg3){
console.log(arg1, arg2, arg3);
}
foo(null, 30, null);