JavaScript中布尔值上的数学运算符
有人能解释一下以下JavaScript代码的执行顺序吗:JavaScript中布尔值上的数学运算符,javascript,boolean,Javascript,Boolean,有人能解释一下以下JavaScript代码的执行顺序吗: (true + false) > 2 + true 我知道对两个布尔值使用+运算符会根据提供的值返回0、1或2的结果 通过按以下顺序中断执行,我将上述代码的输出解释为1: 1) (true + false) // Outputs : 1 2) 1 > 2 // Outputs : false 3) false + true //Outputs : 1 但实际结果是: false 如果我以错误的方式解释代码,有人能纠正我的
(true + false) > 2 + true
我知道对两个布尔值使用+运算符会根据提供的值返回0、1或2的结果
通过按以下顺序中断执行,我将上述代码的输出解释为1:
1) (true + false) // Outputs : 1
2) 1 > 2 // Outputs : false
3) false + true //Outputs : 1
但实际结果是:
false
如果我以错误的方式解释代码,有人能纠正我的理解吗 您的
2nd
点不正确
1) (true + false) outputs - 1
2) (2 + true) - outputs 3
3) 1 > 3 - outputs false
您可以使用函数来检查这一点
(真+假)>2+真
函数f1(){
const cond=真+假;
控制台日志(cond);
返回条件;
}
函数f2(){
const cond=2+真;
控制台日志(cond);
返回条件;
}
log(f1()>f2())代码>你的问题有三个部分
(…)
的最高优先级为20
+
,优先级为13,以及
(此处)的最小值为11
这意味着优先级较高的运算符将首先计算,优先级较低的运算符将首先计算
(true + false) > 2 + true
(true + false) -> 1
2 + true -> 3
1 > 3 -> false
那么你的意思是首先执行两个+运算符,然后进行比较?是的,对于第一个示例。第二个将在括号内工作,而不是+true