任意類型轉(zhuǎn)換為數(shù)字
1精堕、Number()函數(shù)
此方法較為嚴(yán)格孵淘,當(dāng)全部為數(shù)值或者解析為全部數(shù)字時(shí)才會(huì)轉(zhuǎn)換,當(dāng)出現(xiàn)非數(shù)字歹篓,或者出現(xiàn)空格時(shí)則返回NaN瘫证。
//字符串
Number('123') //123
Number('3432f') //NaN 字符串不能被完全解析為數(shù)值,返回NaN
//空字符串轉(zhuǎn)為0
Number('') //0
//布爾值
Number(true) // 1
Number(false) // 0
//undefined類型
Number(undefined) // NaN
//null類型
Number(null) // 0
(2)parseInt()方法
parseInt方法將其他類型轉(zhuǎn)換為整數(shù),只取整數(shù)部分篱竭。返回值只有兩種:十進(jìn)制數(shù)和NaN
parseInt('3.14') //3
parseInt(.5)//0
parseInt('a5')//NaN路狮,此時(shí)則無法轉(zhuǎn)換
parseInt('a')//NaN,非數(shù)字時(shí)
parseInt('12a78')//12 只轉(zhuǎn)換當(dāng)前可以轉(zhuǎn)換部分
(3)parseFloat()方法
解析一個(gè)字符串并返回一個(gè)浮點(diǎn)數(shù)
parseFloat('3.14')
3.14
parseFloat('314e-2')
3.14
parseFloat("0.0314E+2")
3.14
parseFloat("3.14more non-digit characters")
3.14
parseFloat("FF2")
NaN
(4)x - 0 方法
這是一種最簡(jiǎn)單快捷的方法毡庆,字符串減去一個(gè)0可以轉(zhuǎn)換成數(shù)字
'1'-0
1
's'-0
NaN
'02s'-0
NaN
(5)+ x 方法
在要轉(zhuǎn)換的類型前面加上+可以轉(zhuǎn)換成數(shù)字
+ '1'
1
+ '-1'
-1
+ 's'
NaN
+ '1s'
NaN
+ obj
NaN
任意類型轉(zhuǎn)換為字符串
(1)x.toString
(1).toString()
"1"
true.toString()
"true"
var obj={}
(obj).toString()
"[object Object]"
①toString()轉(zhuǎn)換法不適用于null和undefined這兩種數(shù)據(jù)類型坑赡,強(qiáng)行使用會(huì)報(bào)錯(cuò)
②數(shù)據(jù)類型為object的話,轉(zhuǎn)換為string之后會(huì)被表示為[object Object]
(2) String()
String(x)是一個(gè)全局函數(shù)么抗,功能更強(qiáng)大可以轉(zhuǎn)換基本上所有類型為字符串
String(1)
"1"
String(null)
"null"
String(undefined)
"undefined"
String(true)
"true"
String(obj)
"[object Object]"
(3)加上一個(gè)空字符串來轉(zhuǎn)換
最簡(jiǎn)單最便捷的一種方法毅否,加上一個(gè)空字符串就可以快速將其他類型轉(zhuǎn)換成字符串
1 + ''
"1"
null + ''
"null"
undefined + ''
"undefined"
true + ''
"true"
obj + ''
"[object Object]"
任意類型轉(zhuǎn)換為布爾
(3)Boolean(x)
//除了0, NaN, ' ', null, undefined五個(gè)值為false,其他的都為true
Boolean(1)
true
Boolean(null)
false
Boolean(undefined)
false
Boolean(obj)
true
Boolean('s')
true
(2)取反兩次來轉(zhuǎn)換 !!
對(duì)一個(gè)值連續(xù)做兩次取反運(yùn)算蝇刀,等于將其轉(zhuǎn)為對(duì)應(yīng)的布爾值搀突,與Boolean函數(shù)的作用相同。這是一種常用的類型轉(zhuǎn)換的寫法熊泵。
!!1
true
!!null
false
!!undefined
false
!!obj
true
!!'s'
true