首页 > 解决方案 > javascript定义参数

问题描述

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

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

}

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

我希望能够跳过为第一个位置输入参数,而只为第二个参数传递信息。我怎样才能做到这一点?

标签: javascriptfunctionarguments

解决方案


您可以在不更改函数签名的情况下将语法传播...为具有所需参数的值的稀疏数组。

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 }));


推荐阅读