关于javascript:预定义参数

pre-defined parameters

本问题已经有最佳答案,请猛点这里访问。

我希望能够在javascript中执行此操作:

1
2
3
4
5
6
7
function myFunction(one, two = 1) {
     // code
}

myFunction("foo","2");

myFunction("bar");

我试过了,但没用。我不知道如何调用这种类型的参数,有人能给我指出正确的方向吗?

谢谢。


1
2
3
4
5
6
function foo(a, b)
 {
   a = typeof a !== 'undefined' ? a : 42;
   b = typeof b !== 'undefined' ? b : 'default_b';
   //...
 }

重复上一部possibly默认参数值的JavaScript功能


使用这个:

1
2
3
4
function myFunction(one, two) {
   if (typeof two == 'undefined') two = 1;
   ...
}

beware不做普通的理由

1
two = two || 1;

因为我不会允许你提供""0


1
2
3
function myFunction(one, two) {
     two = two || 1
}

两个更精确,例如它可能不工作,当冰双零,零或检查undefined如

1
if (typeof two ==="undefined") two = 1

试试:

1
if ( typeof two ==="undefined" ) two = 2;

1
two = typeof two !=="undefined" ? two : 2;

undefined题元undefined将有"价值",这是一falsy"的价值。我们可以测试这个falsyness,改变accordingly的价值。