js中 | 0 (竖线)

2023-11-02  本文已影响0人  魔仙堡杠把子灬

js运算符单竖杠“|”的用法和作用及js数据处理

    js运算符单竖杠“|”的作用
    在js操作,Number | 0 的时候:
    整数操作的时候,相当于去除小数点,parseInt。
    正数的时候,相当于向下取整,Math.floor()。
    负数的时候,相当于向上取整,Math.ceil()。
Math.ceil() // 向上取整
Math.floor() // 向下取整
Math.round() // 四舍五入取整

console.log(0.5|0) // 0
console.log(1.4|0) // 1
console.log(3.555|0) // 3
console.log(-5.121222|0) // -5
console.log(-8.357678|0) // -8

处理数字经常用到的方法还有:parseInt()、parseFloat()、toFixed()、toPrecision()

3.1415.toFixed(2) // "3.14"
3.1415.toFixed(3) // "3.142"
Number.prototype.toFixed.call(3.1415, 2) // "3.14"

toPrecision(),保留几位数,四舍五入,结果是字符串。

3.1415926.toPrecision(5) // "3.1416"
104.1415926.toPrecision(5) // "103.14"
Number.prototype.toPrecision.call(104.1415926, 5) // "103.14"

“Number|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进制之后相加得到的结果。
console.log(3|4) // 7
// 转换为二进制之后 011|110  相加得到111=7
console.log(4|4) // 4
// 转换为二进制之后 100|100  相加得到100=4
console.log(8|3) // 11
// 转换为二进制之后 1000|011  相加得到1011=11
console.log(5.3|4.1) // 5
// 转换为二进制之后 101|100  相加得到101=5
上一篇 下一篇

猜你喜欢

热点阅读