js 数据:
字面量 1 '123'
变量 a
表达式 1+2 2*2 a&&b
表达式都会有一个返回结果。表达式仍然是数据,所有可以写字面量,变量的地方都可以写表达式
在JavaScript中,表达式中的运算符具有不同的优先级,这决定了表达式中运算的顺序。当表达式中存在多个运算符时,高优先级的运算符会先被计算。以下是JavaScript中运算符的优先级列表,从高到低排列:
- 后缀运算符 (
()
括号、[]
索引、.
属性访问、()
函数调用、++
后缀自增、--
后缀自减) - 一元运算符 (
++
前缀自增、--
前缀自减、+
正号、-
负号、!
逻辑非、~
按位取反、typeof
类型判断、void
空操作、delete
删除) - 乘除取模运算符 (
*
乘法、/
除法、%
取模) - 加法和减法运算符 (
+
加法、-
减法) - 按位左移、右移和无符号右移运算符 (
<<
左移、>>
带符号右移、>>>
无符号右移) - 关系比较运算符 (
<
小于、>
大于、<=
小于等于、>=
大于等于、instanceof
实例判断、in
属性判断) - 相等和不等比较运算符 (
==
等于、===
严格等于、!=
不等于、!==
严格不等于) - 按位与运算符 (
&
) - 按位异或运算符 (
^
) - 按位或运算符 (
|
) - 逻辑与运算符 (
&&
) - 逻辑或运算符 (
||
- 条件运算符 (
? :
) - 赋值运算符 (
=
,+=
,-=
,*=
,/=
,%=
,<<=
,>>=
,>>>=
,&=
,^=
,|=
) - 逗号运算符 (
,
)
在编写表达式时,如果不确定运算的顺序,可以使用括号()
来显式指定运算顺序,这样可以避免因优先级引起的逻辑错误。例如