文章目录
表达式(expression)
表达式是javascript 的解释器可以计算它,从而生成的值。直接量表达式就是直接量的本身,变量表达式则是该变量所存放或引用的值。
运算符
运算符是为了让表达式更加的具有可读。例如a = a + b;“+”、“=”都是运算符。
优先级 | 执行顺序 | 运算符 | 运算符类型 | 所执行的操作 |
15 | L | . | 对象,标识符 | 属性存取 |
L | [ ] | 数组,整数 | 数组下标 | |
L | ( ) | 函数,参数 | 函数调用 | |
R | new | 构造函数调用 | 创建新对象 | |
14 | R | ++ | 1 value | 先递增或后递增运算(一元) |
R | -- | 1 value | 先递减或后递减运算(一元) | |
R | - | 数字 | 一元减法(负) | |
R | + | 数字 | 一元加法 | |
R | ~ | 整数 | 按位取补码的操作(一元) | |
R | ! | 布尔值 | 取逻辑补码的操作(一元) | |
R | delete | 1 value | 取消定义一个属性(一元) | |
R | typeof | 任意 | 返回数据类型(一元)。对应数字、字符串、布尔值返回值是:number、string、boolean。对象、数组、null返回值:object。函数的返回值:function。没定义的返回:undefined。 | |
R | void | 任意 | 返回未定义的值(一元) | |
13 | L | *,/,% | 数字 | 乘法、除法、取余运算 |
12 | L | +,- | 数字 | 加法,减法运算 |
L | + | 字符串 | 连接字符串 | |
11 | L | << | 整数 | 左移 |
L | >> | 整数 | 带符号扩展的右移 | |
L | >>> | 整数 | 带零扩展的右移 | |
10 | L | <, <= | 数字或字符串 | 小于或小于等于 |
L | >, >= | 数字或字符串 | 大于或大于等于 | |
L |
instanceof | 对象,构造函数 | 检测对象类型 | |
L | in | 字符串,对象 |
检查一个属性是否存在 |
|
9 | L | == | 任意 | 测试相等性 |
L | != | 任意 | 测试非相等性 | |
L | === | 任意 | 测试同等性 | |
L | !== | 任意 | 测试非同等性 | |
8 | L | & | 整数 | 按位于操作 |
7 | L | ^ | 整数 | 按位异或操作 |
6 | L | | | 整数 | 按位或操作 |
5 | L | && | 布尔值 | 逻辑与操作 |
4 | L | || | 布尔值 | 逻辑或操作 |
3 | R | ? : | 布尔值,任意,任意 | 条件运算(三目运算符) |
2 | R | = | 1 value | 赋值运算 |
R |
*=, /=, %=, +=, -=, <<=, >>=, >>>=, &=,^=,|= |
1value,任意 | 带操作的赋值运算 | |
1 | L | , | 任意 | 多重计算的操作 |