javascript - 使用||进行这些比较有什么区别和 ,

标签 javascript

这两种说法有什么区别。当我交替使用它们时,我会得到不同的结果。我希望有人能为我解释这一点。那么这之间有什么区别...

else if ( ( elecshow ==2,3,4,5,6,8,9,10,16 ) )

还有这个...

else if ( ( elecshow ==2 ) || ( elecshow ==3 ) || ( elecshow ==4 ) || ( elecshow ==5 ) || ( elecshow ==6 ) || ( elecshow ==8 ) || ( elecshow ==9 ) || ( elecshow ==10 ) || ( elecshow ==16 ) )

我知道这很简单,但我们将不胜感激您的意见。

最佳答案

comma operator

evaluates each of its operands (from left to right) and returns the value of the last operand

结合 ==higher precedence 的事实比 , 这里发生的是 elecshow ==2 被评估,然后是 3,然后是 4,.. .最后是16

返回最后的计算结果,16 为真值,执行将进入 else if

结果不同于

else if ( ( elecshow ==2 ) || ( elecshow ==3 ) || ( elecshow ==4 ) || ( elecshow ==5 ) || ( elecshow ==6 ) || ( elecshow ==8 ) || ( elecshow ==9 ) || ( elecshow ==10 ) || ( elecshow ==16 ) )

仅仅因为它是一个完全不同的运算符!

关于javascript - 使用||进行这些比较有什么区别和 ,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25751568/

相关文章:

javascript - 在 mirth 上用 javascript 迭代并从 xml 中提取数据

javascript - 如何在 Polymer 1.0 中使用 iron-dropdown?

javascript - 从 iframe 中删除网页

javascript - jsPDF - 来自 HTML 和自定义字体

javascript - 按值排序对象未按预期工作

javascript - Firefox 中的 document.body.onload

javascript - 根据上面的文字设置进度条的高度

javascript - 为在线表格制作打印布局

javascript - 从属性中提取字符串

javascript - 正则表达式未按预期工作/(d).\1/