JavaScript中的Number數(shù)字類型學(xué)習(xí)筆記
使用IEEE754格式來表示整數(shù)和浮點數(shù)值。
浮點數(shù)值:該數(shù)值中必須包含一個小數(shù)點,并且小數(shù)點后面必須至少有一位數(shù)字。浮點數(shù)值需要內(nèi)存空間是保存整數(shù)值的兩倍。最高精度是17為小數(shù),但在進行算術(shù)運算時其精度遠遠不如整數(shù)。
各種數(shù)值類型:十進制,八進制(在嚴格模式下無效),十六進制
八進制字面量的第一位必須是0,然后是八進制數(shù)字序列(0~7)。如果字面值中的數(shù)值超出了范圍,那么前導(dǎo)0將被忽略,后面的數(shù)值將被當(dāng)做十進制數(shù)來解析
070//56 079//79
十六進制字面值的前兩位必須是0x,后跟十六進制數(shù)字(0~9及A~F)。其中字母A~F可大小也可小寫
0xA//10
在進行算術(shù)計算時,所有以八進制和十六進制表示的數(shù)值最終都將被轉(zhuǎn)換為十進制數(shù)值
數(shù)值范圍:
如果某次計算中的結(jié)果中得到了一個超出javascript數(shù)值范圍的值,那么這個值將被轉(zhuǎn)換為特殊的Infinity值,該值無法參與下一次的計算,因為Infinity是無法參與計算的數(shù)值。如果這個數(shù)是正數(shù)則被轉(zhuǎn)換為Infinity(正無窮),如果這個數(shù)是負數(shù)則被轉(zhuǎn)換為-Infinity(負無窮)。
-10/0//-Infinity 10/0//Infinity
isInfinite()判斷一個數(shù)是否有窮。
var result = Number.MAX_VALUE + Number.MAX_VALUE console.log(isFinity(result));//false
NaN
console.log(NaN === NaN)//false 0/0//NaN
isNaN:接收一個參數(shù),會嘗試將這個值轉(zhuǎn)換為數(shù)值,返回布爾值
console.log(isNaN('10'));//false console.log(isNaN('bb'));//true
數(shù)值轉(zhuǎn)換
有3個函數(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.對象
如果是對象,則調(diào)用對象的valueOf()方法,然后依照上述的規(guī)則轉(zhuǎn)換返回的值。如果轉(zhuǎn)換的結(jié)果是NaN,則調(diào)用對象的toString()方法,然后再次依照前面的規(guī)則轉(zhuǎn)換返回的字符串值。
5.parseInt()/parseFloat():用于將字符串轉(zhuǎn)換為數(shù)值。
parseInt():從第一個字符串開始解析,直到解析到非數(shù)字字符,可接受兩個參數(shù),第二個參數(shù)代表不同的進制,默認轉(zhuǎn)換為十進制數(shù)。
parseInt('')//NaN,空串 parseInt(22.4)//22 parseInt('12bu')//12 parseInt('10',2)//2 parseInt('10',8)//8 parseFloat():從第一個字符串開始解析,第一個小數(shù)點有效,忽略前導(dǎo)0,只能轉(zhuǎn)換為十進制數(shù)值。 parseFloat('')//NaN parseFloat('090')//90 parseFloat('2.3.4')//2.3
總結(jié)
- 不區(qū)分整數(shù)值和浮點數(shù), JavaScript中所有數(shù)字均用64位浮點數(shù)值標(biāo)識(IEEE 754)。
- 就像java程序員所熟悉的double類型
- 取值范圍在 ±1.7976931348623157 × 10 308 到 ±5 × 10 −324 之間
-
文字:
- 整數(shù)
- 十六進制 0x
- 八進制 0
- 浮點表示
- Math類
- 方法
- pow // 求冪
- round //四舍五入
- ceil //向上取整
- floor //向下取整
- abs //求絕對值
- max //最大值
- min //最最小值
- sqrt
- log
- exp
- acos
- asin
- atan
- atan2
- random
- sin
- cos
- 常量
- PI
- E
- LN2
- LN10
- LOG2E
- LOG10E
- PI
- SQRT1_2
- SQRT2
- 方法
- 無限值
- 正無窮
- Infinity //rw
- Number.POSITIVE_INFINITY // r
- 1/0
- Number.MAX_VALUE + 1
- 負無窮
- Number.NEGATIVE_INFINITY //rw
- -Intifinty //r
- -1/0
- -Number.MAX_VALUE - 1
- NaN
- 不與任何值相等 包括它自己.
- NaN //rw
- Number.NaN //r
- 0/0 //計算結(jié)果為NaN
- Zero
- Number.MIN_VALUE/2
- -Number.MIN_VALUE/2
- -1/Infinity
- -0
- 正無窮
-
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表單提交驗證、input(type=number) 去三角 刷新驗證碼
- JavaScript校驗Number(4,1)格式的數(shù)字實例代碼
- js中Number數(shù)字數(shù)值運算后值不對的解決方法
- JavaScript基本類型值-Number類型
- 詳解js中Number()、parseInt()和parseFloat()的區(qū)別
- js中string和number類型互轉(zhuǎn)換技巧(分享)
- javascript中Number的方法小結(jié)
- JavaScript中Number對象的toFixed() 方法詳解
- Javascript之Number對象介紹
- iOS中json解析出現(xiàn)的null,nil,NSNumber的解決辦法
- JavaScript的Number對象的toString()方法
- JavaScript中Number.NEGATIVE_INFINITY值的使用詳解
- JavaScript中Number.MIN_VALUE屬性的使用示例
- 詳解JS數(shù)值Number類型
相關(guān)文章
讓我們一起來學(xué)習(xí)一下什么是javascript的閉包
這篇文章主要為大家詳細介紹了javascript的閉包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01javascript中的遍歷for in 以及with的用法
這篇文章主要介紹了javascript中的類初始化,遍歷for in 以及with的用法,需要的朋友可以參考下2014-12-12