Javascript 带有可选参数的函数未注册传递的值
这个函数有一个可选参数。问题是,当我传递一个参数时,它的行为就好像我从未传递过它一样 这是我的密码:Javascript 带有可选参数的函数未注册传递的值,javascript,jquery,Javascript,Jquery,这个函数有一个可选参数。问题是,当我传递一个参数时,它的行为就好像我从未传递过它一样 这是我的密码: function sideA(i){ // i is an optional argument. i = i || 'random'; console.log(i); } sideA(0); 在这里,控制台将始终显示“random”。不知道怎么了。有什么想法吗?0,”,未定义,null视为false 在这一行 i = i || 'random'; 如果i为tru
function sideA(i){
// i is an optional argument.
i = i || 'random';
console.log(i);
}
sideA(0);
在这里,控制台将始终显示“random
”。不知道怎么了。有什么想法吗?0,”,未定义,null
视为false
在这一行
i = i || 'random';
如果i为true,则将指定i的值,否则将使用random
像这样试试
i= typeof i === "undefined" ? "random" : i
sideA(0)
sideA() // pass nothing to get random
像这样打电话
i= typeof i === "undefined" ? "random" : i
sideA(0)
sideA() // pass nothing to get random
0
是错误的
我想您应该检查它是空的
还是未定义的
:
函数sideA(i){
//i是一个可选参数。
i=(i==null | | i==undefined?'random':i);
控制台日志(i);
}
sideA(0)代码>这是因为0
是一个,因此将返回第二个操作数
如果您想使用传递的值,如果有,甚至是未定义的,但如果没有使用像sideA()这样的参数,则希望使用默认值代码>然后
i = arguments.length ? i : 'random';
尝试显式测试i
是否为未定义的。如果i
未未定义
,则返回i
,否则返回“随机”
函数sideA(i){
//i是一个可选参数。
//如果'i`\u不是`未定义','i`='i`,
//否则,`i`=`random'`
i=i!==未定义?i:'随机';
控制台日志(i);
}
sideA(0)代码>如果你调用函数没有变量是正确的对不起。。。在那里传递了参数。。。还是“随机”出现我不明白你想要什么。。你能解释得更清楚一点吗?问题是你正在传递0,这是错误的。现在,控制台应该说0,但是,无论是否发送了参数,它总是随机显示。那么如何传递0呢?我绝对需要通过0那么如何通过0呢?我绝对需要通过0那么如何通过0呢?我绝对需要感谢你的帮助。。。阿尼克赢了你。