运算符优先级和结合性
结合性:向左结合也就是从左向右结合,向右结合也就是从右向左结合。
优先级的大概顺序为:
1:最高:[],()
2:单目运算符:++ -- - ~ ! delete new typeof void
3:算数运算符:*、/、% ,+、-
4:双目位操作运算符:<<、>>、>>>
5:比较运算符:<、<=、>、>=、instanceof ==、!=、===、!==
6:单目位操作运算符:& 、^ 、|
7:逻辑运算符:&&、||
8:三目运算符(条件运算符)?:
9:赋值类运算符:=、+=、-=、*=、/=、%=、&=、|=、^=、<、<=、>、>=、>>=
10:多个运算符:,
JavaScript 运算符
优先级 |
运算符 |
说明 |
结合性 |
|
1 |
[]、.、() |
字段访问、数组索引、函数调用和表达式分组 |
从左向右 |
|
2 |
++ -- -~!delete new typeof void |
一元运算符、返回数据类型、对象创建、未定 |
从右向左 |
|
3 |
*、/、% |
相乘、相除、求余数 |
从左向右 |
|
4 |
+、- |
相加、相减、字符串串联 |