我有一个看起来像这样的功能:
function helo(a,b){
if(a)
{
//do something
}
if(b)
{
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我想在调用helo时指定必须传递哪个参数,我该如何在javascript中执行,即
如果我只想发送参数b,我该如何调用函数helo?
helo(parameterB);
Run Code Online (Sandbox Code Playgroud)
现在参数a取值
你最好的选择就是传递一个包含所有参数的对象:
function myFunction(parameters){
if(parameters.a) {
//do something
}
if(parameters.b) {
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样调用函数:
myFunction({b: someValue}); // Nah, I don't want to pass `a`, only `b`.
Run Code Online (Sandbox Code Playgroud)
如果您希望能够将falsy值作为参数传递,则必须更改ifsa位:
if(parameters && parameters.hasOwnProperty('a')){
//do something
}
Run Code Online (Sandbox Code Playgroud)
另一种选择是简单地传递null(或任何其他falsy值)您不想使用的参数:
helo(null, parameterB);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
585 次 |
| 最近记录: |