JavaScript运算符单竖杠"|"

很多人都对双竖杠"||"非常熟悉,因为这个经常在项目中经常会用到。单竖杠"|",却很少在项目开发中使用到。"|"是位运算符,"||"是逻辑运算符。

平常,经常使用以下这个几个方法对数字进行处理。

  1. Math.ceil() //用作向上取整
  2. Math.floor() //用作向下取整
  3. Math.round() //四舍五入取整
  4. parseInt() //解析一个字符串并返回一个整数
  5. parseFloat() //可解析一个字符串,并返回一个浮点数
  6. toFixed() //四舍五入为指定小数位数的数字
  7. toPrecision() //返回指定长度的数值字符串
  8. Number() //把对象的值转换为数字
  9. isFinite() //检查某个值是否为是无穷大的数

其实,"|"也可以对数字,进行简单取整处理。

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

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

你可能感兴趣的:(javascript)