javascript - IF 语句中包含多个 OR 语句

标签 javascript

对这里发生的事情有点困惑:

var first = true;
var third = false;

if(first === true || !second || third === false) {
    alert('if');
}
else{
    alert('else');
}

else 语句每次都在这里求值,我很困惑为什么,第一个是 true,没有名为第二个的变量,第三个也是 false,只有一个必须为 true 才能触发 if 条件,对吧?

最佳答案

我认为您从 localStorage 获取一个字符串,并且没有将其转换为 bool 值。将字符串转换为 bool 值,它应该可以工作。

Fiddle

var first = 'true';  //string returned from localStorage
var third = 'false';

if (Boolean(first) === true || !second || Boolean(third) === false) {
  alert('if');
}
else {
  alert('else');
}

关于javascript - IF 语句中包含多个 OR 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26868164/

相关文章:

javascript - jQuery : Access data-link attribute

javascript - 计算 Firebase Cloud Functions 中的子级数

javascript - express .js : reverse proxying different web app along with assets

javascript - 打开/关闭 div 切换并单击外部 div

javascript - knockout 高级声明 javascript "with"-like

javascript - 滚动到 View 时向元素添加类

javascript - 从 .click() javascript 函数返回一个变量

javascript - 在 html 输入元素中只允许正值(包括十进制值)

javascript - Sammy.js - 从路线内获取路径

javascript - 如何制作影响 Angular 不同数据的可重用函数?