數(shù)據(jù)類型轉(zhuǎn)換
- 轉(zhuǎn)換成數(shù)值
1、Number()函數(shù)
//字符串不能被完全解析為數(shù)值帜慢,返回NaN
Number('3432f') //NaN
//空字符串轉(zhuǎn)為0
Number('') //0
Number(undefined) // NaN
Number(null) // 0
Number方法的參數(shù)是對(duì)象時(shí)笼裳,將返回NaN,除非是包含單個(gè)數(shù)值的數(shù)組粱玲。
2躬柬、parseInt()
parseInt方法用于將字符串轉(zhuǎn)為整數(shù)。一個(gè)個(gè)字符依次轉(zhuǎn)化抽减,遇到不能轉(zhuǎn)為數(shù)字的字符允青,就不再進(jìn)行下去,返回已經(jīng)轉(zhuǎn)好的部分卵沉。返回值兩種:十進(jìn)制的整數(shù)或NaN
parseInt('34vb',10) //34
parseInt第二個(gè)參數(shù)颠锉,表示被解析值的進(jìn)制
3、parseFloat()
parseFloat方法用于將一個(gè)字符串轉(zhuǎn)為浮點(diǎn)數(shù)史汗。
如果參數(shù)不是字符串琼掠,或者字符串的第一個(gè)字符不能轉(zhuǎn)化為浮點(diǎn)數(shù),則返回NaN淹办。
parseFloat('4.89va') //4.89
parseFloat([]) // NaN
parseFloat會(huì)將空字符串轉(zhuǎn)為NaN眉枕,區(qū)別Number函數(shù)的轉(zhuǎn)換結(jié)果
4、對(duì)非數(shù)值類型的值使用一元運(yùn)算符(即+和-)怜森。
- 轉(zhuǎn)換為string
1速挑、String()函數(shù)
數(shù)值:轉(zhuǎn)為相應(yīng)的字符串。
字符串:轉(zhuǎn)換后還是原來(lái)的值副硅。
布爾值:true轉(zhuǎn)為字符串"true"姥宝,false轉(zhuǎn)為字符串"false"。
undefined:轉(zhuǎn)為字符串"undefined"恐疲。
null:轉(zhuǎn)為字符串"null"腊满。
復(fù)合數(shù)據(jù)類型的轉(zhuǎn)換結(jié)果
String({a: 1}) // "[object Object]"
String([[3,4],['a','b']]) //"3,4,a,b"
2、toString()
var a = 34
a.toString() //"34"
undefined培己、null不適用碳蛋,會(huì)報(bào)錯(cuò)
3、任何值和字符串相加省咨,返回字符串肃弟,所有+''(空字符串),可以完成字符串轉(zhuǎn)化
- 轉(zhuǎn)為布爾值
1、Boolean()
Boolean函數(shù)可以將任意類型的值轉(zhuǎn)為布爾值笤受。
除了以下五個(gè)值的轉(zhuǎn)換結(jié)果為false穷缤,其他的值全部為true。
undefined箩兽、null津肛、-0或+0、NaN汗贫、''(空字符串)
2身坐、用兩個(gè)取反!!,轉(zhuǎn)為布爾值