Javascript 预定义参数
我希望能够在JavaScript中实现这一点:Javascript 预定义参数,javascript,Javascript,我希望能够在JavaScript中实现这一点: function myFunction(one, two = 1) { // code } myFunction("foo", "2"); myFunction("bar"); 我试过了,但没用。我不知道如何调用这种类型的参数,有人能给我指出正确的方向吗 谢谢。试试: if ( typeof two === "undefined" ) two = 2; 或 未定义的参数将具有值Undefined,这是一个“falsy”值。我们可以
function myFunction(one, two = 1) {
// code
}
myFunction("foo", "2");
myFunction("bar");
我试过了,但没用。我不知道如何调用这种类型的参数,有人能给我指出正确的方向吗
谢谢。试试:
if ( typeof two === "undefined" ) two = 2;
或
未定义的参数将具有值Undefined
,这是一个“falsy”值。我们可以测试这种错误,并相应地更改值
function myFunction(one, two) {
two = two || 1
}
更精确地说,例如,当2为零时,它可能不起作用,请检查是否为空或未定义,例如
if (typeof two === "undefined") two = 1
可能是重复的使用此选项:
function myFunction(one, two) {
if (typeof two == 'undefined') two = 1;
...
}
小心不要犯常见的错误
two = two || 1;
因为这不允许您提供
“
或0
明确的重复项…但是您确实希望明确检查此回答中的未定义项,因为typeof
返回您给定的参数类型。。如果a
是字符串,则返回string
,如果没有参数,则typeof将返回undefined
。如果您认为这是重复的,则应投票关闭或将其标记为重复。不要在这里复制答案。涉及two=two | | x代码>模式应该被理解为有风险的,这取决于您的情况。这意味着用默认值覆盖参数的任何“falsy”值,这可能是合适的,也可能是不合适的。
function myFunction(one, two) {
if (typeof two == 'undefined') two = 1;
...
}
two = two || 1;