问题描述
我知道,我知道必须有一些线索涵盖这个主题。 但我使用搜索并没有得到符合我需要的答案。 所以我们走了:
我想检查一个“if”条件,因为如果变量具有类似“null”或“undefined”或“”或“'的值,那么我想将变量值指定为”N / A“并且如果值为零( 0)它不应该为该变量分配“N / A”。
但问题是“”或null == 0是真的,
所以请帮我解决这个问题,先谢谢
1楼
Paul S.
5
2015-07-30 15:21:48
使用===
进行JavaScript比较,
// type doesn't match gives false
0 === null; // false
0 === undefined; // false
0 === ''; // false
0 === false; // false
0 === "0"; // false
// type matches
0 === 0; // true
2楼
chaggy
1
已采纳
2015-07-30 15:31:07
这是你在说什么? “===”是一个严格的比较运算符,不会更改数据类型。
if (val === undefined || val === null || val === ""){
// do something
}else{
// do something else
}
3楼
srinivasan rb
1
2015-07-30 16:02:11
在Javascript中,null,undefined,“”(空字符串),false,0,NaN是虚假值。 检查具有任何这些值的变量的条件导致错误。
在您的情况下,您可以简单地检查变量是否为假,如果您需要从此条件中排除0,则可以为if变量添加一个条件检查!== 0。
例如,在下面的代码中说'a'是你需要检查除0之外的所有虚假值的变量,然后你可以检查是否(a!== 0)&&!a(不是falsy)并分配给N /其他人留下'a'原样。
第1行:var a = 0; 第2行:a =(a!== 0 &&!a)? “N / A”:a;
我希望上面的代码可以帮到你。
4楼
Trung Nguyen
0
2015-07-30 15:34:16
这就是你追求的吗? 只需一个测试用例就足够了......
if ($var !== 0) $var = 'N/A';