我希望能够在JavaScript中执行此操作:
function myFunction(one, two = 1) {
// code
}
myFunction("foo", "2");
myFunction("bar");
我尝试过这个并不起作用。我不知道如何调用这种类型的参数,有人能指出我正确的方向吗?
感谢。
答案 0 :(得分:3)
function foo(a, b)
{
a = typeof a !== 'undefined' ? a : 42;
b = typeof b !== 'undefined' ? b : 'default_b';
//...
}
的副本
答案 1 :(得分:2)
function myFunction(one, two) {
two = two || 1
}
更精确,例如当两个为零时,它可能不起作用,检查是否为null或未定义,例如。
if (typeof two === "undefined") two = 1
答案 2 :(得分:2)
使用此:
function myFunction(one, two) {
if (typeof two == 'undefined') two = 1;
...
}
小心不要犯常见的错误
two = two || 1;
因为这不允许您提供""
或0
。
答案 3 :(得分:0)
尝试:
if ( typeof two === "undefined" ) two = 2;
或
two = typeof two !== "undefined" ? two : 2;
未定义的参数将具有值undefined
,这是一个“虚假”值。我们可以测试这种虚假,并相应地改变它。