js运算符
逻辑运算符
"&&"与
运算方法:
只要"&&"前面是false,无论"&&"后面是true还是false,结果都将返"&&"前面的值
只要"&&"前面是true,无论"&&"后面是true还是false,结果都将返"&&"后面的值"||"或
运算方法:
只要"||"前面为false,不管"||"后面是true还是false,都返回"||"后面的值
只要"||"前面为true,不管"||"后面是true还是false,都返回"||"前面的值"!"非
运算方法:
对数值取反
let a = false;
console.log(!a) //true注意
在js逻辑运算中,0、""(空字符串)、null、false、undefined、NaN都会判为false,其他都为true
位运算符
"&"按位与
运算方法:
两个数值的个位分别相与,如果两位都是 1 则设置每位为 1,如果两位之一为 0 则设置每位为 0| 第一个数的位值 | 第二个数的位值 | 运算结果 | |
| 1 | 1 | 1 | |
| 1 | 0 | 0 | |
| 0 | 1 | 0 | |
| 0 | 0 | 0 |
"|"按位或
运算方法:
两个数值的个位分别相与,如果两位之一为 1 则设置每位为 1| 第一个数的位值 | 第二个数的位值 | 运算结果 | |
| 1 | 1 | 1 | |
| 1 | 0 | 1 | |
| 0 | 1 | 1 | |
| 0 | 0 | 0 |
"~"按位非
运算方法:
对一个二进制操作数逐位进行取反操作,反转所有位
位非运算实际上就是对数字进行取负运算,再减1
例如:console.log(~12 == -12-1); //true"^"按位异或
运算方法:
如果两位只有一位为 1 则设置每位为 1| 第一个数的位值 | 第二个数的位值 | 运算结果 | |
| 1 | 1 | 0 | |
| 1 | 0 | 1 | |
| 0 | 1 | 1 | |
| 0 | 0 | 0 |
取整
了解了位运算方法后知道可以用于取整
1.丢弃小数部分,保留整数部分 parseInt()
2.向上取整,有小数就整数部分加1 Math.ceil()
3.向下取整 Math.floor()
4.四舍五入 Math.round()
5.num|0 3.1415|0=3
6.~ ~num ~~3.1415=3
7.num<<0 3.1415<<0
8.num>>0 3.1415>>0
标签:无