6

我希望能够在 JavaScript 中做到这一点:

function myFunction(one, two = 1) {
     // code
}

myFunction("foo", "2");

myFunction("bar");

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

谢谢。

4

4 回答 4

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

可能与为 JavaScript 函数设置默认参数值重复

于 2012-10-28T17:08:59.953 回答
2
function myFunction(one, two) {
     two = two || 1
}

更准确地说,例如,当两个为零时,它可能不起作用,请检查 null 或未定义,例如

if (typeof two === "undefined") two = 1
于 2012-10-28T17:08:45.587 回答
2

用这个 :

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

注意不要犯常见的错误

two = two || 1;

因为这不允许您提供""0.

于 2012-10-28T17:09:17.147 回答
0

尝试:

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

或者

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

未定义的参数将具有 value undefined,这是一个“虚假”值。我们可以测试这种虚假性,并相应地更改值。

于 2012-10-28T17:08:38.613 回答