运算符(~ & | ^ << >> ++ -- && || )运算顺序以及原理

1. ~ [截断小数,然后取反减1:机理是二进制]
  example:~5 : -6 ; ~-5 : 4 ; ~4.2 : -5;
  ~~表示2次操作,等于parseInt() 
2. & [表示按位与:机理是二进制 都是1才1
  example:5 & 8: (0101)& (1000)===> 0;

         5 & 6:   (0101)  & (0110)===> (0100) = 4;

3. | [机理是二进制 有1就1

  example:5 | 8: (0101)| (1000)===> (1101) = 13;

         5 | 6:   (0101)  | (0110)===> (0111) = 7;

4. ^ [机理是二进制 不同值是1相同值是0

  example:5 ^ 8: (0101)^ (1000)===> (1101) = 13;

         5 ^ 6:   (0101)  ^ (0110)===> (0011) = 3;
5. << [表示向左移位

  example:5 << 2: (0101)左移动2位(10100)===> 20;

         5 >> 2:   (0101)  右移动2位(0001)===> 1;

6. ++ 和 -- [a++表示先用在+,++a表示先+再用]
7.&& 和 || [短路语法]
  a && b ===> a真则b, a假则a
  a || b ===> a真则a, a假则b

8.运算顺序 [置反 --- 数学 --- 比较 --- 逻辑(非、与、或)]

  example:true && 8 > 5 % 3
      = true && 8 > 2
      = true && true
      = true

数学运算的隐式转换:undefined是NaN,null是0,字符串就是这个字符串数字,true是1,false是0

posted @ 2021-01-07 16:36  这是啥!啥!啥  阅读(678)  评论(0编辑  收藏  举报