“|”与“||”运算符
在js开发应用中我们通常会碰到“|”与“||”了,本篇文章大致了解一下js运算符单竖杠“|”与“||”的用法。
在js整数操作的时候,相当于去除小数点。在正数的时候相当于Math.floor(),负数的时候相当于Math.ceil()。
- Math.ceil()用作向上取整。
- Math.floor()用作向下取整。
- Math.round() 我们数学中常用到的四舍五入取整。
console.log(0.6|0) //0
console.log(1.1|0) //1
console.log(3.65555|0) //3
console.log(5.99999|0) //5
console.log(-7.777|0) //-7
JS “|”的运算规则
看了上面的例子,大体知道单竖杠可以进行取整运算,就是只保留正数部分,小数部分通过拿掉,但是“|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(9|3455); //3455
其实单竖杠“|”就是转换为2进制之后相加得到的结果。例如:
3|4 => 011|100 => 111 => 7
9|3455 => 1001|110101111111 => 110101111111 => 3455
JS “||”运算符
JS双竖线运算符:是或比较,使用双竖线运算符 “||” ,返回第一个有效值。
console.log(null||'0'); //0
console.log('1'||'2'); //1