轉(zhuǎn)布爾值
Boolean類型只有兩個(gè)字面值:true和false蜓肆。
在條件判斷時(shí)會(huì)出現(xiàn)假的(false)情況為:“ ”,0舀奶,NaN暑竟,null,undefined育勺,false但荤,只有這幾種情況轉(zhuǎn)換為false;與之相反的涧至,什么為真呢腹躁?其實(shí)除了假都是真,包括所有對(duì)象南蓬。
轉(zhuǎn)字符串
- toString()
要把一個(gè)值轉(zhuǎn)換為字符串有兩種方式纺非,第一種是使用幾乎每個(gè)值都有的toString()。但是有一點(diǎn)需要注意的是null和undefined值沒有這個(gè)方法赘方。
var colors = ['red','blue','green'];
var num = 123;
var found = true;
console.log(colors.toString()); //"red,blue,green"
console.log(num.toString()); //"123"
console.log(found.toString()); //"true"
- String()
在不知道要轉(zhuǎn)換的值是null或undefined的情況下可以使用轉(zhuǎn)型函數(shù)String()烧颖,這個(gè)函數(shù)可以將任何值轉(zhuǎn)換為字符串
var colors = ['red','blue','green'];
var num = 123;
var found = true;
console.log(String(colors)); // "red,blue,green"
console.log(String(num)); // "123"
console.log(String(found)); // "true"
console.log(String(null)); // "null"
console.log(String(undefined)); // "undefined"
轉(zhuǎn)number數(shù)據(jù)類型
其他類型轉(zhuǎn)number類型主要有Number(),parseFloat(),parseInt()這三種強(qiáng)制類型轉(zhuǎn)換
- Number()
Number()屬于嚴(yán)格轉(zhuǎn)換。此方法轉(zhuǎn)換較為嚴(yán)格窄陡,當(dāng)全部為數(shù)字或者解析全部為數(shù)字時(shí)才會(huì)轉(zhuǎn)換倒信,出現(xiàn)非數(shù)字或者空格時(shí)返回NaN,當(dāng)遇到空字符串、null或者布爾類型false時(shí)返回0泳梆,當(dāng)遇到布爾類型true時(shí)返回1鳖悠,遇到undefined時(shí)返回NaN榜掌。NaN的意思是not a number,不是一個(gè)數(shù)值,但是NaN屬于number數(shù)據(jù)類型乘综,NaN和誰都不相等憎账,包括他自己。判斷是否為非有效數(shù)字時(shí)用isNaN(),是非有效數(shù)字返回true卡辰,有效數(shù)字返回false
console.log(Number(123)); //123
console.log(Number('123')); //123
console.log(Number('123aa')); //NaN
console.log(Number('')); //0
console.log(Number([])); //0
console.log(Number(null)); //0
console.log(Number(false)); //0
console.log(Number(true)); //1
console.log(Number(undefined)); //NaN
- parseInt()
該方法可以把其他數(shù)據(jù)類型轉(zhuǎn)換為整數(shù)胞皱,只取整數(shù)部分,當(dāng)遇到以非數(shù)字開頭的數(shù)據(jù)類型時(shí)九妈,返回NaN反砌。
console.log(parseInt(123)); //123
console.log(parseInt(123.23)); //123
console.log(parseInt('123.23')); //123
console.log(parseInt('123aa')); //123
console.log(parseInt('.123aa')); //NaN
console.log(parseInt('abc')); //NaN
console.log(parseInt('abc123')); //NaN
- parseFloat()
parseFloat()和parseInt()都屬于非嚴(yán)格轉(zhuǎn)換,該方法是保留浮點(diǎn)數(shù)
console.log(parseFloat(123)); //123
console.log(parseFloat(123.23)); //123.23
console.log(parseFloat('123.23')); //123.23
console.log(parseFloat('123aa')); //123
console.log(parseFloat('.123aa')); //0.123
console.log(parseFloat('ab123.23aa')); //NaN
console.log(parseFloat('abc')); //NaN