区分 0 和 ""
differentiate between 0 & ""
我知道,我知道一定有一些话题涉及这个话题。但是我使用搜索并没有得到符合我需要的答案。所以我们开始吧:
我想检查一个 "if" 条件,因为如果变量具有 "null" 或 "undefined" 或 "" 或 '' 之类的值,那么我想将变量值分配为"N/A" & 如果值为零 (0),则不应将 "N/A" 分配给该变量。
但问题就出在这里,"" or null == 0 为真,
所以请帮我解决这个问题,
提前致谢
使用 ===
在 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
你说的是这个吗? “===”是一个严格的比较运算符,不会改变数据类型。
if (val === undefined || val === null || val === ""){
// do something
}else{
// do something else
}
这就是你想要的吗?只需一个测试用例就足够了...
if ($var !== 0) $var = 'N/A';
在Javascript中,null、undefined、""(空字符串)、false、0、NaN 都是假值。对具有任何这些值的变量进行条件检查会导致 false。
在你的情况下,你可以简单地检查变量是否为假,如果你需要从这个条件中排除 0,你可以再添加一个条件检查是否变量!== 0。
例如在下面的代码中说 'a' 是您需要检查除 0 以外的所有虚假值的变量,然后您可以检查是否 (a!==0) && !a(不是falsy) 并分配给 N/A 否则保持 'a' 不变。
第 1 行:var a = 0;
第 2 行:a = (a!==0 && !a)? "N/A":一个;
希望以上代码对您有所帮助。
我知道,我知道一定有一些话题涉及这个话题。但是我使用搜索并没有得到符合我需要的答案。所以我们开始吧:
我想检查一个 "if" 条件,因为如果变量具有 "null" 或 "undefined" 或 "" 或 '' 之类的值,那么我想将变量值分配为"N/A" & 如果值为零 (0),则不应将 "N/A" 分配给该变量。
但问题就出在这里,"" or null == 0 为真,
所以请帮我解决这个问题, 提前致谢
使用 ===
在 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
你说的是这个吗? “===”是一个严格的比较运算符,不会改变数据类型。
if (val === undefined || val === null || val === ""){
// do something
}else{
// do something else
}
这就是你想要的吗?只需一个测试用例就足够了...
if ($var !== 0) $var = 'N/A';
在Javascript中,null、undefined、""(空字符串)、false、0、NaN 都是假值。对具有任何这些值的变量进行条件检查会导致 false。
在你的情况下,你可以简单地检查变量是否为假,如果你需要从这个条件中排除 0,你可以再添加一个条件检查是否变量!== 0。
例如在下面的代码中说 'a' 是您需要检查除 0 以外的所有虚假值的变量,然后您可以检查是否 (a!==0) && !a(不是falsy) 并分配给 N/A 否则保持 'a' 不变。
第 1 行:var a = 0; 第 2 行:a = (a!==0 && !a)? "N/A":一个;
希望以上代码对您有所帮助。