运算符与运算符优先级


javascript中的运算符有:
赋值运算符(Assignment operators):=、+= 等
比较运算符(Comparison operators):===、>、<等
算数运算符(Arithmetic operators):+、-、++、–等
位运算符(Bitwise operators):a & b、a << b
逻辑运算符(Logical operators):&&、||
字符串运算符(String operators):+
条件(三元)运算符(Conditional operator):“? :”
逗号运算符(Comma operator):,
一元运算符(Unary operators):delete、void、typeof 和关系的差别就是 只需要一个操作数
关系运算符(Relational operator):in、instanceof。

经测试,“+” 字符串运算符和算术运算符的优先级是一样的。字符串运算符 大于 比较运算符。

1. 总体优先级

首先和日常算术一样*/大于+-,其次由于运算符过多并且不能以运算符的类别区分(如 逻辑! 高于 算术+-)优先级,很多时候复杂的表达式往往无法确定优先级,要使用(),()的优先级是最高的。

总体优先级如下:

一元运算符 delete void typeof

>

算数运算符 + - ++ –

>

位运算符 a & b a << b

>

比较运算符 === > <

==

关系运算符 in instanceof

>

逻辑运算符 (&& > ||)

>

条件(三元)运算符 ?:

>

赋值运算符 = +=

>

逗号运算符 ,

细分

2. 运算符的优先级(全)

对于运算符的优先级有下表汇总。

汇总

汇总

汇总

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Expressions_and_Operators

0000 1000
1111 0111

1111 1000


文章作者: iamfugui
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 iamfugui !
评论
  目录