Javascript 如何使js检查0而不是未定义
我有一个函数,它接受一个参数并用它进行一些计算。参数是一个数字。但是,当参数为0时,js将其视为未定义。如果我有一张支票,比如:Javascript 如何使js检查0而不是未定义,javascript,Javascript,我有一个函数,它接受一个参数并用它进行一些计算。参数是一个数字。但是,当参数为0时,js将其视为未定义。如果我有一张支票,比如: if(param==0){…} 这始终为false,因为param==0为false但param==undefined为true。 因此,我必须重写代码,并对param=0有一个特例 示例: result=param*123*456+789 这必须更改为: if (param == undefined) { result= 789; } else { resu
if(param==0){…}
这始终为false,因为param==0
为false
但param==undefined
为true。
因此,我必须重写代码,并对param=0有一个特例
示例:result=param*123*456+789代码>
这必须更改为:
if (param == undefined) {
result= 789;
} else {
result= param*123*456 +789;
}
return result;
这是重复代码。一定有更好的办法。更好的方法是什么?您可以执行
param = param || 0;
在你的功能的顶端
这将确保如果param
是未定义的
,它将变为0,因此所有计算都将按预期进行。将代码更新为
result= (param||0)*123*456 +789;
如果(param===undefined)param=0,您可以只放置代码>在顶部
不过,你的问题可能在别处。你说“但是,当参数为0时,js将其视为未定义”,但这是不正常的。使用===
而不是=
。我很困惑,你想把未定义的和0
视为相同还是不一样?那么结果=(参数)呢?参数*123*456+789:789
?@FelixKling是的,我不想做检查,如果它看起来只是在寻找逻辑OR<代码>如果(参数===0 | |参数==未定义){
。。。