javascript - 逻辑运算符 ||返回数字而不是 bool 值

标签 javascript

我附上了一个带有两个 if 条件的例子。第一个 if 条件按预期工作。第二个 if 条件返回 11,但为什么呢?我知道第二个 if 条件是错误的,但我想了解为什么 Javascript 在这种情况下返回 11。

function exception(number) {
// if(number === 10 || number === 11) { // Working as expected
   if(number === 10 || 11) { // Why 11?
        console.log(number);
   }
}

function loop(f) {
    for (i = 0; i <= 100; i++) {
        f(i);
    }
}

loop(exception);

最佳答案

来自 this question .

(expr1 || expr2)

"Returns expr1 if it can be converted to true; otherwise, returns expr2."

source

因此,当 expr1 是(或计算为)这些 0,"",false,null,undefined,NaN 之一时,则 expr2 返回,否则返回 expr1

关于javascript - 逻辑运算符 ||返回数字而不是 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34706372/

相关文章:

javascript - 如何将文本框值获取到 Button OnClick 函数中的参数?

javascript - 等待map完成运行以执行最终调用

javascript,从js文件导入数组

javascript - 在文本框中输入某些内容后禁用按钮?

javascript - Google map 帮助 - 将城市名称放在标记上方

javascript - AngularJS bootstrap datepicker - 星期几问题

javascript - 如何将输入的数据从一个html文件移动到其ts文件,然后移动到另一个组件文件?

javascript - 如何使用 jquery 向输入添加值而不是用新值替换输入

javascript - 使用ajax调用php函数时遇到问题

Javascript 自动更改背景颜色不起作用