js运算符优先级
在js编程过程中需要特别注意运算符的优先级。运算符优先级是指在一个表达式中,运算符求值的先后顺序。程序的执行顺序将依据运算符的优先级顺序从左到右依次进行。
操作方法
- 01
例如,在进行四则运算时,优先级别是先乘除,后加减,这就是说乘法和除法的运算优先级高于加法和减法的优先级。乘除属于同一个级别,加减属于同一个级别,同一级别的运算符按从左到右顺序进行计算,这就是运算符的结合方式。如果有两个或者更多的算术运算符有相同的优先级,那么左边的将先执行,然后依次向右执行。例如,下面的例子: a=2*4+5-4+12/2
- 02
实例中包含加、减、乘、除四种运算,由于先乘和除的优先级别高,所以乘和除将首先被运算,接下来是加和减运算。乘和除优先级相同,所以左边的乘法将被先执行,然后是除法,接下来按从左到右的顺序进行加减运算。结果为a=15。
- 03
如果想改变运算的默认执行顺序,可以使用成对的括号,括号内的运算将比括号外的运算先执行。如果同样是上面的例子中的操作数和运算符,加上括号写成下面的表达式: a=2*(4+5)-(4+12)/2
- 04
在这个例子中,括号里的表达式将先被执行,即先计算4+5和4+12,然后进行乘除运算,最后是减运算,结果是10。 如果两个或者两个以上的运算符有相同的优先级,js根据运算符的执行顺序进行排序,一般的都是从左向右,但有些运算符的结合性是从右向左。 下面有个有说明了js里面的运算符的优先级。最上面的优先级最高。
- 05
圆括号可用来改变运算符优先级所决定的求值顺序。这意味着圆括号中的表达式应在其用于表达式的其余部分之前全部被求值。
- 06
z = 78 * (96 + 3 + 45) 在该表达式中有五个运算符: =, *, (), +, 以及另一个 +。根据运算符优先级的规则,它们将按下面的顺序求值: (), +, +, *, =。首先对圆括号内的表达式求值。圆括号中有两个加法运算符。因为两个加法运算符具有相同的优先级,从左到右求值。先将 96 和 3 相加,然后将其和与 45 相加,得到的结果为 144。然后是乘法运算。78 乘以 144,得到结果为 11232。A最后是赋值运算。将 11232 赋给 z。