欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript中的Number數(shù)字類(lèi)型學(xué)習(xí)筆記

 更新時(shí)間:2016年05月26日 17:12:15   作者:Murphywuwu  
對(duì)數(shù)字類(lèi)型支持得不夠強(qiáng)大是很多人吐槽JavaScript的原因,anyway...這里整理了JavaScript中的Number數(shù)字類(lèi)型學(xué)習(xí)筆記,適合入門(mén)及基礎(chǔ)知識(shí)復(fù)習(xí),需要的朋友可以參考下

使用IEEE754格式來(lái)表示整數(shù)和浮點(diǎn)數(shù)值。
浮點(diǎn)數(shù)值:該數(shù)值中必須包含一個(gè)小數(shù)點(diǎn),并且小數(shù)點(diǎn)后面必須至少有一位數(shù)字。浮點(diǎn)數(shù)值需要內(nèi)存空間是保存整數(shù)值的兩倍。最高精度是17為小數(shù),但在進(jìn)行算術(shù)運(yùn)算時(shí)其精度遠(yuǎn)遠(yuǎn)不如整數(shù)。

2016526170346500.png (209×70)

各種數(shù)值類(lèi)型:十進(jìn)制,八進(jìn)制(在嚴(yán)格模式下無(wú)效),十六進(jìn)制
八進(jìn)制字面量的第一位必須是0,然后是八進(jìn)制數(shù)字序列(0~7)。如果字面值中的數(shù)值超出了范圍,那么前導(dǎo)0將被忽略,后面的數(shù)值將被當(dāng)做十進(jìn)制數(shù)來(lái)解析

070//56
079//79

十六進(jìn)制字面值的前兩位必須是0x,后跟十六進(jìn)制數(shù)字(0~9及A~F)。其中字母A~F可大小也可小寫(xiě)

0xA//10

在進(jìn)行算術(shù)計(jì)算時(shí),所有以八進(jìn)制和十六進(jìn)制表示的數(shù)值最終都將被轉(zhuǎn)換為十進(jìn)制數(shù)值

數(shù)值范圍:

2016526170418976.png (184×77)

如果某次計(jì)算中的結(jié)果中得到了一個(gè)超出javascript數(shù)值范圍的值,那么這個(gè)值將被轉(zhuǎn)換為特殊的Infinity值,該值無(wú)法參與下一次的計(jì)算,因?yàn)镮nfinity是無(wú)法參與計(jì)算的數(shù)值。如果這個(gè)數(shù)是正數(shù)則被轉(zhuǎn)換為Infinity(正無(wú)窮),如果這個(gè)數(shù)是負(fù)數(shù)則被轉(zhuǎn)換為-Infinity(負(fù)無(wú)窮)。

-10/0//-Infinity
10/0//Infinity

2016526170515183.png (231×72)

isInfinite()判斷一個(gè)數(shù)是否有窮。

var result = Number.MAX_VALUE + Number.MAX_VALUE
console.log(isFinity(result));//false

NaN

console.log(NaN === NaN)//false

0/0//NaN

isNaN:接收一個(gè)參數(shù),會(huì)嘗試將這個(gè)值轉(zhuǎn)換為數(shù)值,返回布爾值

console.log(isNaN('10'));//false
console.log(isNaN('bb'));//true

數(shù)值轉(zhuǎn)換
有3個(gè)函數(shù)可以把非數(shù)值轉(zhuǎn)換為數(shù)值
Number():使用于任何數(shù)值類(lèi)型。

1.null

Number(null)//0
undefined
Number(undefined)//NaN

2.布爾值

Number(true)//1
Number(false)//0

3.字符串

Number('bb')//NaN,非數(shù)值字符
Number('123')//123,數(shù)值字符
Number('')//0,空串

4.對(duì)象
如果是對(duì)象,則調(diào)用對(duì)象的valueOf()方法,然后依照上述的規(guī)則轉(zhuǎn)換返回的值。如果轉(zhuǎn)換的結(jié)果是NaN,則調(diào)用對(duì)象的toString()方法,然后再次依照前面的規(guī)則轉(zhuǎn)換返回的字符串值。
5.parseInt()/parseFloat():用于將字符串轉(zhuǎn)換為數(shù)值。

parseInt():從第一個(gè)字符串開(kāi)始解析,直到解析到非數(shù)字字符,可接受兩個(gè)參數(shù),第二個(gè)參數(shù)代表不同的進(jìn)制,默認(rèn)轉(zhuǎn)換為十進(jìn)制數(shù)。

parseInt('')//NaN,空串
parseInt(22.4)//22
parseInt('12bu')//12
parseInt('10',2)//2
parseInt('10',8)//8
parseFloat():從第一個(gè)字符串開(kāi)始解析,第一個(gè)小數(shù)點(diǎn)有效,忽略前導(dǎo)0,只能轉(zhuǎn)換為十進(jìn)制數(shù)值。

parseFloat('')//NaN
parseFloat('090')//90
parseFloat('2.3.4')//2.3

總結(jié)

  • 不區(qū)分整數(shù)值和浮點(diǎn)數(shù), JavaScript中所有數(shù)字均用64位浮點(diǎn)數(shù)值標(biāo)識(shí)(IEEE 754)。
  • 就像java程序員所熟悉的double類(lèi)型
  • 取值范圍在 ±1.7976931348623157 × 10 308 到 ±5 × 10 −324 之間
  • 文字:

    • 整數(shù)
      • 十六進(jìn)制 0x
      • 八進(jìn)制 0
    • 浮點(diǎn)表示
    • Math類(lèi)
      • 方法
        • pow // 求冪
        • round //四舍五入
        • ceil //向上取整
        • floor //向下取整
        • abs //求絕對(duì)值
        • max //最大值
        • min //最最小值
        • sqrt
        • log
        • exp
        • acos
        • asin
        • atan
        • atan2
        • random
        • sin
        • cos
      • 常量
        • PI
        • E
        • LN2
        • LN10
        • LOG2E
        • LOG10E
        • PI
        • SQRT1_2
        • SQRT2
    • 無(wú)限值
      • 正無(wú)窮
        • Infinity //rw
        • Number.POSITIVE_INFINITY // r
        • 1/0
        • Number.MAX_VALUE + 1
      • 負(fù)無(wú)窮
        • Number.NEGATIVE_INFINITY //rw
        • -Intifinty //r
        • -1/0
        • -Number.MAX_VALUE - 1
      • NaN
        • 不與任何值相等 包括它自己.
        • NaN //rw
        • Number.NaN //r
        • 0/0 //計(jì)算結(jié)果為NaN
      • Zero
        • Number.MIN_VALUE/2
        • -Number.MIN_VALUE/2
        • -1/Infinity
        • -0
    • Rounding-error

   var x = .3 - .2 
   var y = .2 - .1
   x == y
   x == .1 // => false .3 -.2 不等于 ./
   y == .1 // => true .2 - .1 等于 .1

相關(guān)文章

  • javascript 學(xué)習(xí)之旅 (2)

    javascript 學(xué)習(xí)之旅 (2)

    DOM是“Document Object Model”(文檔對(duì)象模型)的首字母縮寫(xiě)。
    2009-02-02
  • javascript中的原型鏈深入理解

    javascript中的原型鏈深入理解

    要弄清楚原型鏈就要先弄清楚 function 類(lèi)型,在javascript中沒(méi)有類(lèi)的概念,都是函數(shù),所以它是一門(mén)函數(shù)式的編程語(yǔ)言
    2014-02-02
  • 最新評(píng)論