逻辑运算符

"&&"与

运算方法:
    只要"&&"前面是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
第一个数的位值第二个数的位值运算结果
111
100
010
000

"|"按位或

运算方法:
    两个数值的个位分别相与,如果两位之一为 1 则设置每位为 1
第一个数的位值第二个数的位值运算结果
111
101
011
000

"~"按位非

运算方法:
    对一个二进制操作数逐位进行取反操作,反转所有位
    位非运算实际上就是对数字进行取负运算,再减1
    例如:console.log(~12 == -12-1);  //true

"^"按位异或

运算方法:
    如果两位只有一位为 1 则设置每位为 1
第一个数的位值第二个数的位值运算结果
110
101
011
000

取整

  了解了位运算方法后知道可以用于取整
  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
  

标签:无

你的评论