首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有谁能解释一下为什么“操作符优先”适用于逻辑运算符,如javaScript中的“扣分”、“&”

有谁能解释一下为什么“操作符优先”适用于逻辑运算符,如javaScript中的“扣分”、“&”
EN

Stack Overflow用户
提问于 2020-04-20 09:39:25
回答 1查看 322关注 0票数 3

有人能解释为什么运算符优先级适用于逻辑运算符,如||&&在JavaScript中吗?在这样的手术中,这意味着什么:

true \x\x false && false

首先计算false && false是因为&&运算符在JavaScript中比||运算符具有更高的优先级。根据我所知道的,false && false不是由JavaScript引擎计算的,因为在true运算符之前有一个true文本,当在||运算符之前是true时,||运算符之后的东西将不会被计算,这在JavaScript中称为“逻辑运算符的短路”,另一个例子是:

真\警报()

函数调用永远不会发生,即使函数调用具有比||操作符更高的优先级,另一个例子是

x = 7

如果逻辑运算符的短路在JavaScript中是真的,那么上面的代码就不能产生错误,因为x = 7是不计算的,因为在||运算符之前有一个true文字。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-20 09:48:19

运算符优先只确定分组,而不是实际的计算顺序:https://stackoverflow.com/a/46506130

  • true || false && false变成了true || (false && false),但仍然从左到right.
  • true || alert()计算为true || (alert()),而非(true || alert)()
  • true || x = 7计算为(true || x) = 7,并导致错误,而不是true || (x = 7)

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61319353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档