运算符类型:
- 算术运算符
加法运算符(Addition):x + y
减法运算符(Subtraction): x - y
乘法运算符(Multiplication): x * y
除法运算符(Division):x / y
余数运算符(Remainder):x % y
自增运算符(Increment):++x 或者 x++
自减运算符(Decrement):--x 或者 x--
求负运算符(Negate):-x
数值运算符(Convert to number): +x
x++
与x--
值为计算之前的值,++x
与--x
值为计算之后的值
- 比较运算符
== 相等
=== 严格相等
!=不相等
!== 严格不相等
< 小于
<= 小于或等于
大于
= 大于或等于
//基本类型看值是否相等
//对象看地址是否相等
[] !== []
{} !== {}
NaN !== NaN
x === y 真值表
- 布尔运算符
! 取反运算符
&& 且运算符
|| 或运算符
Test1:a = a || 0
什么含义? a的保底值为0
- 二进制运算符
或运算(or):符号为|,表示两个二进制位中有一个为1,则结果为1,否则为0。
与运算(and):符号为&,表示两个二进制位都为1,则结果为1,否则为0。
否运算(not):符号为~,表示将一个二进制位变成相反值。
异或运算(xor):符号为ˆ,表示两个二进制位中有且仅有一个为1时,结果为1,否则为0。
左移运算(left shift):符号为<<
右移运算(right shift):符号为>>
带符号位的右移运算(zero filled right shift):符号为>>>
Test2:使用运算符判断奇偶
数字 & 1
//结果若为 0 则为偶数,否则为奇数
7 & 1
1
8 & 1
0
Test3:使用运算符取整
console.log(~~ 5.12) // 5
console.log(5.12 >> 0) // 5
console.log(5.12 << 0) // 5
console.log(5.12 | 0) // 5
console.log(5.12 >>> 0) // 5
Test4:使用运算符交换ab值
var a = 5
var b = 8
a ^= b
b ^= a
a ^= b
console.log(a) // 8
console.log(b) // 5
- 其他运算符
逗号运算符
语法: 表达式1,表达式2,...表达式n
作用:将表达式n的值作为整体的值
let a =(1,2,3,4,5)
let f2 = (x)=>(console.log('x的平方为:'),x*x)
void运算符
语法: void 表达式或语句
作用:求表达式的值或执行语句,void的值总为undefined
网友评论