我是javascript的新手,所以在查看基础知识时,我遇到了表达式评估,所以通常表达式将按“括号,指数,乘法,除法,加法,减法等”的顺序进行评估。
我的样本表达式为“ 2 + 10-19 + 4-90 + 1 ”
我的理解是在上面的表达中首先,no将根据加法相对于减法的优先级执行加法,因此它将是“ 12-23-91 ”,结果可能是“ -80 “但在检查表达式的输出时,它返回” -92 “。
请解释这个结果是如何得出的,并纠正我对javascript引擎评估表达式的理解。
答案 0 :(得分:2)
加法和减法具有相同的优先级(优先级),并且从左到右执行,以先发生者为准。
=2+10-19+4-90+1
=12-19+4-90+1
=-7+4-90+1
=-3-90+1
=-93+1
=-92
乘法和除法相同。它们从左到右执行,以先发生者为准。 有关更多示例,请尝试本页面上的内容。 https://www.w3schools.com/js/js_arithmetic.asp
答案 1 :(得分:1)
+
和-
运算符的优先级相同,并且从左到右依次为优先级。因此,在相同的优先级别,它给你回答-92
如下:
2+10-19+4-90+1
=12-19+4-90+1
=-7+4-90+1
=-3-90+1
=-92
您可以在Javascript here中读取整个运算符优先级。