这里是 JavaScript 初学者。
假设我有一个带有 3 个参数的 javascript 函数:
function f(arg1, arg2, arg3) { // do stuff }
我知道我可以调用 f(value1, value2);在这种情况下,函数范围内的 arg1 将为 value1,arg2 将为 value2,而 arg3 将为 null。
一切正常。但是,如果我想调用仅向 arg1
和 arg3
赋值的函数,我需要执行如下操作:f(value1, null, value2)
;
有没有一种方法可以以更像 C# 的方式指定哪些参数具有哪些值(无需将未给定参数指定为 null)?类似这样的事情:为了仅使用 arg1
和 arg3
的值调用 f,我会写 f(value1, arg3 = value2);
有什么想法吗? 干杯!
最佳答案
有一种方法我见过:
例如
function person(name,surname,age)
{
...
}
person('Xavier',null,30);
你可以这样做:
function person(paramObj)
{
var name = paramObj.name;
var surname = paramObj.surname;
var age = paramObj.age;
}
这样调用:
person({name:'Xavier',age:30});
我认为这是最接近于在 C# 中执行此操作的方法,请记住 JS 不是编译的,因此您无法预测函数的参数。
编辑:
为了获得更好的语法,您可以使用 ES6 对象解构,如下所示:
function person({name, surname, age})
{
...
}
关于Javascript 在函数调用中跳过参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25642690/