javascript - 我不明白如何在 JavaScript 中编写 IF/THEN 语句?

标签 javascript

这怎么可能发生?

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/

相关文章:

javascript - 为什么我的文本在水平滚动 window.innerWidth 的倍数时没有对齐?

javascript - 如何使用 javascript 设置 cookie 安全标志

javascript - 选择 <li> 并将值传递到文本字段

javascript - 动态显示 HTML 页面 AngularJS

javascript - 奇数行和偶数行上的不同 CSS 样式

javascript - 外部 js 文件中的 JQuery 事件处理程序不起作用

javascript - 根据变量的值更改 prop 值

javascript - MVC 更新部分 View onchange 下拉列表

javascript - jQuery - 输入字段中的多个电子邮件地址

javascript - 为什么我的 javascript 函数没有被调用