1. 程式人生 > >js運算符單豎杠“|”的用法和作用及js數據處理

js運算符單豎杠“|”的用法和作用及js數據處理

blank lan math float http fix www. rip 規則

  很多朋友都對雙豎杠“||”,了如指掌,因為這個經常用到。但是大家知道單豎杠嗎?

  看JavaScript實用技巧,js小知識文章時,看到了單豎杠“|”運算,對它很陌生。

  學習並掌握它。

  js運算符單豎杠“|”的作用

  在js操作,Number | 0 的時候:

  a. 整數操作的時候,相當於去除小數點,parseInt。

  b. 正數的時候,相當於向下取整,Math.floor()。

  c. 負數的時候,相當於向上取整,Math.ceil()。

Math.ceil() // 向上取整
Math.floor() // 向下取整
Math.round() // 四舍五入取整

console.log(
0.6|0) // 0 console.log(1.1|0) // 1 console.log(3.6555|0) // 3 console.log(-5.22|0) // -5 console.log(-7.777|0) // -7

  處理數字經常用到的方法還有:parseInt()、parseFloat()、toFixed()、toPrecision()

  toFixed(),保留幾位小數,四舍五入,結果是字符串。

100.456001.toFixed(2) // "100.46"
100.456001.toFixed(3) // "100.456"
Number.prototype.toFixed.call(100.456, 2) // "100.46"

  toPrecision(),保留幾位數,四舍五入,結果是字符串。

99.456001.toPrecision(5) // "99.456"
100.456001.toPrecision(5) // "100.46"
Number.prototype.toPrecision.call(10.456001, 5) // "10.456"

  單豎杠“|”的運算規則

  “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

  

  

js運算符單豎杠“|”的用法和作用及js數據處理