javascript初学者在这里.
假设我有一个带有3个参数的javascript函数:
function f(arg1, arg2, arg3) { // do stuff }
Run Code Online (Sandbox Code Playgroud)
我知道我可以调用f(value1,value2); 在这种情况下,函数范围内的arg1将为value1,arg2将为value2,arg3将为null.
这一切都还不错.但是,如果我想调用只给出值的函数arg1,arg3我需要做这样的事情:f(value1, null, value2);
有没有一种方法可以指定哪些参数以更C#的方式具有哪些值(没有指定给定的参数为null)?这样的事情:仅用于为f调用f arg1,arg3我会写f(value1, arg3 = value2);
有任何想法吗?干杯!
Man*_*jar 10
有一种我见过的方式:
例如
function person(name,surname,age)
{
...
}
person('Xavier',null,30);
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
function person(paramObj)
{
var name = paramObj.name;
var surname = paramObj.surname;
var age = paramObj.age;
}
Run Code Online (Sandbox Code Playgroud)
像这样打电话:
person({name:'Xavier',age:30});
Run Code Online (Sandbox Code Playgroud)
我认为这是你能够做到的最接近的事情,就像在c#中一样,JS没有被编译,所以你无法预测函数的参数.
小智 5
是的你可以。可以写成:
f(arg1, undefined, arg3);
Run Code Online (Sandbox Code Playgroud)
在这个调用中,参数 1 和 3 将通过,而参数 2 不会被发送。
如果你打算这样做(假设它是有效的)
f(value1, arg3 = value2)
Run Code Online (Sandbox Code Playgroud)
那么参数 2 将是未定义的,所以只需传递它:
f(value1, undefined, value2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10148 次 |
| 最近记录: |