Javascript 如何使js检查0而不是未定义

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

我有一个函数,它接受一个参数并用它进行一些计算。参数是一个数字。但是,当参数为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 {
  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 | |参数==未定义){
。。。