最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解JavaScript中|單豎杠運(yùn)算符的使用方法

 更新時(shí)間:2016年05月23日 16:47:44   作者:Aaron  
JavaScript中|單豎杠通常被用來(lái)對(duì)浮點(diǎn)型數(shù)字進(jìn)行取證,這里同時(shí)也介紹了單豎杠的運(yùn)算規(guī)則,下面我們就來(lái)詳解JavaScript中|單豎杠的使用方法

js運(yù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() 等等。 簡(jiǎn)單解釋:

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ù)部分通過(guò)拿掉,但是“|0”,又是如何進(jìn)行運(yùn)算的呢,為什么能“|0”能達(dá)到取整的目的呢?單豎杠不是0有會(huì)是多少呢?

帶著這些問(wèn)題,我們看下面例子:

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

好吧,我在這里公布答案吧。其實(shí)單豎杠“|”就是轉(zhuǎn)換為2進(jìn)制之后相加得到的結(jié)果。例如我們拿簡(jiǎn)單的舉例:

復(fù)制代碼 代碼如下:
3|4

轉(zhuǎn)換為二進(jìn)制之后011|100  相加得到111=7

復(fù)制代碼 代碼如下:
4|4

轉(zhuǎn)換為二進(jìn)制之后100 |100  相加得到100=4

復(fù)制代碼 代碼如下:
8|3

轉(zhuǎn)換為二進(jìn)制之后1000 |011  相加得到1011=11

相關(guān)文章

  • 深入理解JavaScript系列(41):設(shè)計(jì)模式之模板方法詳解

    深入理解JavaScript系列(41):設(shè)計(jì)模式之模板方法詳解

    這篇文章主要介紹了深入理解JavaScript系列(41):設(shè)計(jì)模式之模板方法詳解,模板方法(TemplateMethod)定義了一個(gè)操作中的算法的骨架,而將一些步驟延遲到子類中,模板方法使得子類可以不改變一個(gè)算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟,需要的朋友可以參考下
    2015-03-03
  • JS聲明變量背后的編譯原理剖析

    JS聲明變量背后的編譯原理剖析

    只要是寫(xiě)過(guò)點(diǎn)JS代碼,很簡(jiǎn)單一個(gè)var 就完事了。那對(duì)于JS編譯器背后它又發(fā)生了什么呢?那就一步步通過(guò)代碼來(lái)講起,需要了解的朋友研究下哦
    2012-12-12
  • Document 對(duì)象的常用方法

    Document 對(duì)象的常用方法

    通過(guò)元素的ID訪問(wèn)元素,這是DOM一個(gè)基礎(chǔ)的訪問(wèn)頁(yè)面元素的方法,我們要經(jīng)常用到它.
    2009-07-07
  • javascript中判斷一個(gè)值是否在數(shù)組中并沒(méi)有直接使用

    javascript中判斷一個(gè)值是否在數(shù)組中并沒(méi)有直接使用

    在JS中要判斷一個(gè)值是否在數(shù)組中并沒(méi)有函數(shù)直接使用,如PHP中就有in_array()這個(gè)函數(shù),可以寫(xiě)一個(gè)類似in_array()函數(shù)功能的方法
    2012-12-12
  • javascript實(shí)現(xiàn)計(jì)算器功能詳解流程

    javascript實(shí)現(xiàn)計(jì)算器功能詳解流程

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)單計(jì)算器小功能,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,大家可以在本篇實(shí)例中查缺補(bǔ)漏,提升水平
    2021-11-11
  • javascript實(shí)現(xiàn)的網(wǎng)頁(yè)局布刷新效果

    javascript實(shí)現(xiàn)的網(wǎng)頁(yè)局布刷新效果

    AJAX,近幾年火熱起來(lái)的一個(gè)詞.什么是ajax本文就不介紹了,其實(shí),AJAX也就是 javascript腳本的應(yīng)用.全拼是:AsynchronousJavaScript+XML .現(xiàn)在我們就來(lái)看一個(gè)用javascript實(shí)現(xiàn)的局部刷新
    2008-12-12
  • 你真的了解JavaScript的作用域與閉包嗎

    你真的了解JavaScript的作用域與閉包嗎

    這篇文章主要為大家詳細(xì)介紹了JavaScript作用域與閉包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • ES5學(xué)習(xí)教程之Array對(duì)象

    ES5學(xué)習(xí)教程之Array對(duì)象

    這篇文章主要給大家介紹了ES5中新增的Array對(duì)象的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-04-04
  • 初學(xué)JS的的小例子 javascript replace高亮替換

    初學(xué)JS的的小例子 javascript replace高亮替換

    初學(xué)JS的的小例子 javascript replace高亮替換...
    2007-12-12
  • Js中sort()方法的用法

    Js中sort()方法的用法

    Js中sort()方法的用法,需要的朋友可以參考下。
    2006-11-11

最新評(píng)論

斗六市| 城口县| 中西区| 普兰店市| 馆陶县| 马公市| 永修县| 兴安盟| 牙克石市| 高清| 临沭县| 根河市| 博爱县| 长治市| 会泽县| 定远县| 凤冈县| 射阳县| 石棉县| 锡林浩特市| 焦作市| 黄石市| 寻甸| 松溪县| 刚察县| 含山县| 成武县| 通海县| 贵定县| 清远市| 巍山| 陇南市| 杭锦后旗| 盐山县| 延边| 大石桥市| 方山县| 进贤县| 淮阳县| 云安县| 稻城县|