新聞中心
很多朋友都對(duì)雙豎杠“||”,了如指掌,因?yàn)檫@個(gè)經(jīng)常用到。但是大家知道單豎杠嗎?今天有個(gè)網(wǎng)友QQ問我,我的 javascript實(shí)用技巧,js小知識(shí) , 這篇文章里面,js整數(shù)的操作運(yùn)用了單豎杠,問我單豎杠是啥意思?

創(chuàng)新互聯(lián)成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元高唐做網(wǎng)站,已為上家服務(wù),為高唐各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
我看了一下之前的那篇文章,只寫了用法,但是并沒有解釋。好吧,我現(xiàn)在就給大家簡單的介紹一下:
之前文章,在js整數(shù)操作的時(shí)候,相當(dāng)于去除小數(shù)點(diǎn),parseInt。在正數(shù)的時(shí)候相當(dāng)于Math.floor(),負(fù)數(shù)的時(shí)候相當(dāng)于Math.ceil() 注:
- 1. Math.ceil()用作向上取整。
- 2. Math.floor()用作向下取整。
- 3. Math.round() 我們數(shù)學(xué)中常用到的四舍五入取整。
- 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
注:除了Math的三個(gè)方法處理數(shù)字,我們還經(jīng)常用parseInt()、parseFloat()、toFixed()與toPrecision() 等等。 簡單解釋:
toFixed方法用法如下:
- 100.456001.toFixed(2); //100.47
- 100.456001.toFixed(3); //100.456
- Number.prototype.toFixed.call(100.456001,2); //100.47
缺點(diǎn):用之后就會(huì)變成字符串。
toPrecision用法如下:
- 99.456001.toPrecision(5); //99.456
- 100.456001.toPrecision(5); //100.46
- Number.prototype.toPrecision.call(10.456001,5); //10.456
單豎杠的運(yùn)算規(guī)則
看了上面的例子,大體知道單豎杠可以進(jìn)行取整運(yùn)算,就是只保留正數(shù)部分,小數(shù)部分通過拿掉,但是“|0”,又是如何進(jìn)行運(yùn)算的呢,為什么能“|0”能達(dá)到取整的目的呢?單豎杠不是0有會(huì)是多少呢?
帶著這些問題,我們看下面例子:
- console.log(3|4); //7console.log(4|4);//4
- console.log(8|3);//11console.log(5.3|4.1);//5
- console.log(9|3455);//3455
好吧,我在這里公布答案吧。其實(shí)單豎杠“|”就是轉(zhuǎn)換為2進(jìn)制之后相加得到的結(jié)果。例如我們拿簡單的舉例:
- 3|4轉(zhuǎn)換為二進(jìn)制之后011|100 相加得到111=74|4轉(zhuǎn)換為二進(jìn)制之后100 |100 相加得到100=48|3轉(zhuǎn)換為二進(jìn)制之后1000 |011 相加得到1011=11
以此類推,我在這里就不一一列舉了,單豎杠“|”運(yùn)算就是轉(zhuǎn)換為2進(jìn)制之后相加得到的結(jié)果!
【本文為專欄作者“謝軍”的原創(chuàng)稿件,轉(zhuǎn)載可通過作者微信公眾號(hào)(jingfeng18)獲取聯(lián)系】
網(wǎng)頁名稱:前端開發(fā)js運(yùn)算符單豎杠“|”的用法和作用及js數(shù)據(jù)處理
分享URL:http://fisionsoft.com.cn/article/cooghji.html


咨詢
建站咨詢
