javascript - 为什么 var c = "a"|| "b"返回 c = "a"和 var c = "a"&& "b"返回 c = "b"?

标签 javascript logic operators

我最近遇到了这个问题 var c = "a"|| "b" 那么 c 是什么,而 var c = "a"&& "b" 在本例中 c 是什么?并解释一下原因?

我尝试在 jsfiddle 中运行代码,这就是我得到的 var c = "a"|| "b" 返回 c = "a",var c = "a"&& "b" 返回 c = b。谁能解释一下为什么会这样?

最佳答案

对于 OR || 运算符,任何一个条件都需要为 true,因为第一个 "a" 不等于为 false,因此第一个值被分配给 c

对于 AND && 运算符,两个条件都需要为 true,因此在检查最后一个条件后(并且两个条件都不等于 false ) b 被分配给 c

同样

var c = "a" && "b" && "d"

将输出“d”

var c = false || "a" || "b"

将输出“a”

关于javascript - 为什么 var c = "a"|| "b"返回 c = "a"和 var c = "a"&& "b"返回 c = "b"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34327100/

相关文章:

javascript - 在 JavaScript 中创建计划任务

algorithm - FIFA 场景逻辑

Xpath 或运算符。如何使用

javascript - p5.j​​s WebGL 3d 图形在旋转时被 2d 背景覆盖

javascript - 异步或延迟(或延迟)CSS 加载

javascript - 在 JavaScript 中验证姓名/号码

haskell - 如何将 `bound` 用于非 monad?

prolog - Prolog 列表中的两颗星

python - Pandas 中 DataFrame 列表的按行映射

angular - 合并两个 rxjs 流并仅在第一个为真时发出