我总结了一张图,能帮助大家理清JavaScript中常用操作符的优先级

点击上方蓝字关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

日常项目中,我们通常在判断语句,运算表达式,返回结果等等场景下或多或少都会涉及到操作符优先级的问题。一旦没处理好,优先级出现了错乱,整个结果就是另一种状态了。 可见理清操作符优先级的重要性。

在JavaScript中操作符优先级其实就是一套固定的规则, 这个规则在计算表达式时控制运算符执行的顺序,具有较高优先级的操作符先于较低优先级的操作符执行。例如:乘法的执行先于加法。

竟然是规则,那就按规则的处理办法来搞,记住一张图和一句话就够用了。

第一,一张图如下

我总结了一张图,能帮助大家理清JavaScript中常用操作符的优先级

上面这张图,告诉了JavaScript常用(还有位操作符,我并没有列在这里)操作符优先顺序的规则,需要注意的是一种操作符可能有多种形式,我并没有全部列出来,比如一元操作符,它还有--等。相等和全等还有不相等和不全等的形式。

第二,一句话如下

具有相同优先级的运算符按从左至右的顺序求值

第三,看两个例子

懂规则了,那么下面我们来实践中看一下版搞的。

例子一,用如下代码运行:

我总结了一张图,能帮助大家理清JavaScript中常用操作符的优先级

输出结果:34

知道这个结果的应该在100%,呵呵,这段代码其实可以完整写成下面这样:

var demo = 2*(10+3+4)

这个表达式有五个操作符:=,*, (), +, 以及另一个 +。根据运算符优先级的规则,它们将按下面的顺序求值: (), +, +, *, =。

首先对圆括号内的表达式求值。圆括号中有两个加法运算符。因为两个加法运算符具有相同的优先级,从左到右求值。先将 10 和 3 相加,然后将其和与 4 相加,得到的结果为 17。 然后是乘法运算。2乘以 17,得到结果为34。最后是赋值运算。将34赋给 demo变量。

例子二,来运行一段逻辑运算符的代码:

我总结了一张图,能帮助大家理清JavaScript中常用操作符的优先级

先是逻辑与运算,2全等于2,3全等于3,逻辑与就true。然后是1全等于2时,输出为false。与true逻辑或,最后输出true。

总结:

规则一般是用来记住的,灵活使用,还是那句话,记住上面那一句话和一张图。


分享到:


相關文章: