这怎么可能发生?
var X = db.getItem('ShowDeleted');
console.log(X);
if (X) {
console.log(1);
} else {
console.log(2);
}
在 Firebug 中,我得到:
true
1
false
1
当我触发有问题的代码片段时。
编辑:我为使用 db 表示歉意。在我的例子中。 db=本地存储。
最佳答案
我想象正在发生的事情(尽管在不知道 db.getItem
返回什么类型的情况下确实无法判断)是 X
最终成为一些非 bool 值。那么 if
语句的计算结果始终为 true
,因为变量是 0
之外的某个值。也就是说,如果它返回一个字符串 "false"
(或者任何与此相关的对象),则以下内容始终遵循 if
分支,而不是 else
if("false"){
//do something
} else {
//do something else
}
您需要确保您实际上正在评估 bool 值,而不是其他值。
关于javascript - 我不明白如何在 JavaScript 中编写 IF/THEN 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8404344/