1.表达式
表达式时用于JavaScript脚本运行时进行计算的式子,可以包含常量、变量、运算符
2.运算符
1)算术运算符
+、-、*、/、% | |
++、– | 分为前缀和后缀形式,前缀形式先加/减1再执行,后缀先执行再加/减1 |
tip:
- +号用来连接两个字符串
- 只要+连接的操作数中有一个时字符串型,Js就会自动把非字符串型数据作为字符串型数据来处理
- Js代码的执行顺序是从左到右,所以在+连接的表达式中,遇到字符,可以自动转换为数值型的数据,)仍被作为数值来处理。为了避免这种情况,我们可以在表达式前拼一个空字符串
ps:整数型、浮点型和null支持自增自减运算符;字符串和undefined不支持自增自减运算符
<script type="text/javascript">
document.write(3%8);
document.write('<br/>');
document.write(3%-8);
document.write('<br/>');
document.write(-3%8);
document.write('<br/>');
document.write(-3%-8);
</script>
-8的符号不起作用
2)字符连接符
通过 + 连接字符串
3)赋值运算符
=、+=、-=、*=、/=、%=
4)比较运算符
>=、>、<、<=、==、!=、= = =、!= =
tip:
- 比较运算符的结果为布尔类型
- ==只比较值中是否相等、= = =比较值和类型
5)逻辑运算符
** &&、||、!**
tip:
- 逻辑运算符的结果为布尔类型。
- &&如果第一个表达式为false,第二个表达式被短路,整个结果为false。
- ||如果第一个表达式为true,第二个表达式被短路,整个结果为true。
6)三元运算符
** exp1?exp2:exp3
7)其他运算符
(1)逗号运算符:逗号用来将多个表达式连接为一个表达式,新表达式的值为最后一个表达式的值,多用在变量声明处
(2)void运算符:void运算符用来指明一个表达式无返回结果
(3)typeof运算符:typeof运算符用来返回一个字符串,返回的是操作数的数据类型
3.运算符优先级
运算符 | 描述 |
. [] () | 字段访问、数组下标、函数调用以及表达式分组 |
++、–、 -、 ~、! 、delect 、new、typeof 、void | 一元运算符、返回数据类型、对象创建、未定值 |
*、 / 、% | 乘法、除法、取模 |
+ 、-、 + | 加法、减法、字符串连接 |
<<、 >>、 >>> | 位移 |
< 、 <= 、 > 、>= 、 instanceof | 小于、小于等于、大于、大于等于、instanceof |
== 、!= 、 = = = 、!= = | 等于、不等于、严格相等、非严格相等 |
& | 按位与 |
^ | 按位异或 |
按位或 | |
&& | 逻辑与 |
逻辑或 | |
? : | 条件 |
=op= | 赋值、运算赋值 |
, | 多重求值 |
tip:通过()改变优先级