JavaScript运算符单竖杠"|"

很多人都对双竖杠"||"非常熟悉,因为这个经常在项目中经常会用到。单竖杠"|",却很少在项目开发中使用到。"|"是位运算符,"||"是逻辑运算符。
平常,经常使用以下这个几个方法对数字进行处理。

  1. Math.ceil() //用作向上取整
  2. Math.floor() //用作向下取整
  3. Math.round() //四舍五入取整
  4. parseInt() //解析一个字符串并返回一个整数
  5. parseFloat() //可解析一个字符串,并返回一个浮点数
  6. toFixed() //四舍五入为指定小数位数的数字
  7. toPrecision() //返回指定长度的数值字符串
  8. Number() //把对象的值转换为数字
  9. isFinite() //检查某个值是否为是无穷大的数
【JavaScript运算符单竖杠"|"】其实,"|"也可以对数字,进行简单取整处理。
console.log(0.1|0)//0 console.log(1.1|0)//1 console.log(2.345|0)//2 console.log(3.99999|0)//3 console.log(-4.567|0)//-4

从打印中,可以看出"|"单竖杠可以对数字取整运算,就是只保留整数部分。 | 0可以向下取整,,是因为位运算符工作于32位的数字上,任何数字操作都将转换为32位。0的二进制就是00...0一共32位(32个0),无论任何数对0进行或运算都是原来的数。一个整数"|"0可以得到它本身,一个小数与0按位或可以得到取整的效果。
console.log(3|4); //7 console.log(4|4); //4 console.log(8|3); //11 console.log(5.3|4.1); //5 console.log(5.3|1688); //1693

这里的单竖杠"|"就是十进制的数字转换为二进制之后,两数相加打印出来的结果。

    推荐阅读