【发布时间】:2011-06-28 18:57:10
【问题描述】:
我正在查看一些 Javascript 代码:
if ( a>2 | b>4 ) { ... }
(忽略上面的 ...)。是什么|正在做?我认为这是逻辑或,但我在网上找到的所有参考文献都在谈论 ||,我找不到任何只提到 | 的东西。提前致谢
【问题讨论】:
-
与大多数其他编程语言相同;)
-
Imo 你应该接受@aaronasterling 的回答,因为它实际上描述了
|的工作原理。我的回答只是一个扩展评论;) -
虽然它没有出现在下面的任何答案中......
|always 评估两个参数,其中||(和&&)是 short-circuit 运算符,并且仅根据需要进行评估。例如var res = true || thisIsNeverExecuted()--||(和&&)通常 [总是] 正确处理逻辑,但有时(而且非常值得怀疑!),不需要短路行为。有些人在紧要关头使用|或&来解决这个问题。不过,我会主张可维护的代码 :)
标签: javascript