javascript - 在 JavaScript 中,条件语句中 OR 运算符的正确语法是什么?我错过了什么?

标签 javascript operators conditional-statements

我不确定如何准确地表达这一点,我想知道 OR 运算符如何在条件中准确发挥作用?

这里是示例代码,它只是计算字符串中的 B。

var countB = function(s) {
  var counter = 0;
  for (var c = 0; c < s.length; c++) {
    if (s.charAt(c) == "B") {
      counter++;
    }
  }
  return counter;
}
console.log(countB("Butter balls are BBBbBBUttERRYY!"));

现在,当我运行它时它运行良好,但是当我将 if 条件更改为

s.charAt(c) == "B" || "b"

它计算所有的字符。

为什么要这样做,正确的语法是什么?

最佳答案

s.charAt(c) == "B"|| "b" 本质上等于 (s.charAt(c) == "B") || ("b")

每当 s.charAt(c) == "B" 的检查失败时,"b" 的值为真并成功。

正确的语法是 s.charAt(c) == "B"|| s.charAt(c) == "b"

关于javascript - 在 JavaScript 中,条件语句中 OR 运算符的正确语法是什么?我错过了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35953753/

相关文章:

html - CSS 中的条件样式

javascript - d3.js 访问准备好的文档上的 DOM

javascript - 模态图片库 - 多张图片

javascript - 是否有一个 javascript 库可以读取样式字符串并将适当的样式添加到给定元素?

c# - AND 运算不能应用于可为空的 bool 值之间

c++ - 后缀的优先级++

c++ - 使用 operator= 从对象分配 std::string

javascript - backbone.js 解析 1 个元素(Id)

c 中的条件不满足

c++ - boost 条件问题?