我试图在JS中创建一个函数,该函数需要很多参数,但并不总是使用所有参数。我想做的是定义我要引用的论点。这就是我的想法,但无法按我希望的那样工作。
function foo(arg1, arg2, arg3){
let arg1 = arg1;
let arg2 = arg2;
let arg3 = arg3;
}
foo(arg2:'sets value of arg2');
我希望能够跳过第一个位置的参数,而只传递第二个参数的信息。我该怎么办?
答案 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);