Javascript 函数带有可选的第一个参数,但传递了第二个参数

jan*_*ane 4 javascript function

假设我有一个myfunc最多可以使用两个参数的函数:arg1arg2

var myfunc = function (arg1,arg2) {
  console.log(arg1,arg2);
};
Run Code Online (Sandbox Code Playgroud)

我想只使用arg2. 但是,当我运行它时,输入被传递给第一个参数,并且myfunc会记录"input" undefined而不是undefined "input"按预期。

myfunc(arg2 = 'input')
> "input" undefined
Run Code Online (Sandbox Code Playgroud)

Javascript 支持这种类型的输入吗?

Mah*_*Ali 5

Javascript 不支持带名称的参数。但是您可以使用从作为函数参数传递的对象中解包字段并将对象传递给函数来实现相同的 目的

var myfunc = function ({arg1,arg2}) {
  console.log(arg1,arg2);
};

myfunc({arg2:"input"})
Run Code Online (Sandbox Code Playgroud)