javascript中的表达式评估

时间:2017-07-29 04:32:51

标签: javascript

我是javascript的新手,所以在查看基础知识时,我遇到了表达式评估,所以通常表达式将按“括号,指数,乘法,除法,加法,减法等”的顺序进行评估。

我的样本表达式为“ 2 + 10-19 + 4-90 + 1

我的理解是在上面的表达中首先,no将根据加法相对于减法的优先级执行加法,因此它将是“ 12-23-91 ”,结果可能是“ -80 “但在检查表达式的输出时,它返回” -92 “。

请解释这个结果是如何得出的,并纠正我对javascript引擎评估表达式的理解。

2 个答案:

答案 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中读取整个运算符优先级。