JavaScript中的Number數(shù)字類型學(xué)習(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ù)。

各種數(shù)值類型:十進(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可大小也可小寫
0xA//10
在進(jìn)行算術(shù)計(jì)算時(shí),所有以八進(jìn)制和十六進(jìn)制表示的數(shù)值最終都將被轉(zhuǎn)換為十進(jìn)制數(shù)值
數(shù)值范圍:

如果某次計(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

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ù)值類型。
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è)字符串開始解析,直到解析到非數(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è)字符串開始解析,第一個(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類型
- 取值范圍在 ±1.7976931348623157 × 10 308 到 ±5 × 10 −324 之間
-
文字:
- 整數(shù)
- 十六進(jìn)制 0x
- 八進(jìn)制 0
- 浮點(diǎn)表示
- Math類
- 方法
- 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
- 正無(wú)窮
-
Rounding-error
- 整數(shù)
var x = .3 - .2 var y = .2 - .1 x == y x == .1 // => false .3 -.2 不等于 ./ y == .1 // => true .2 - .1 等于 .1
- JS表單提交驗(yàn)證、input(type=number) 去三角 刷新驗(yàn)證碼
- JavaScript校驗(yàn)Number(4,1)格式的數(shù)字實(shí)例代碼
- js中Number數(shù)字?jǐn)?shù)值運(yùn)算后值不對(duì)的解決方法
- JavaScript基本類型值-Number類型
- 詳解js中Number()、parseInt()和parseFloat()的區(qū)別
- js中string和number類型互轉(zhuǎn)換技巧(分享)
- javascript中Number的方法小結(jié)
- JavaScript中Number對(duì)象的toFixed() 方法詳解
- Javascript之Number對(duì)象介紹
- iOS中json解析出現(xiàn)的null,nil,NSNumber的解決辦法
- JavaScript的Number對(duì)象的toString()方法
- JavaScript中Number.NEGATIVE_INFINITY值的使用詳解
- JavaScript中Number.MIN_VALUE屬性的使用示例
- 詳解JS數(shù)值Number類型
相關(guān)文章
讓我們一起來(lái)學(xué)習(xí)一下什么是javascript的閉包
這篇文章主要為大家詳細(xì)介紹了javascript的閉包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01
javascript中的遍歷for in 以及with的用法
這篇文章主要介紹了javascript中的類初始化,遍歷for in 以及with的用法,需要的朋友可以參考下2014-12-12

