《JavaScript高級(jí)程序設(shè)計(jì)》閱讀筆記(四):ECMAScript中的類型轉(zhuǎn)換
2.7 類型轉(zhuǎn)換
1、轉(zhuǎn)換成字符串
所有對(duì)象都有toString()方法可以轉(zhuǎn)換成字符串,要注意的是Number類型的toString()方法,它有兩種模式,即默認(rèn)模式和基模式,采用默認(rèn)模式toString()方法只是用相應(yīng)的字符串輸出對(duì)應(yīng)的10進(jìn)制數(shù)字值,用基模式可以用不同的基輸出數(shù)字。示例:
1 var iNum1=10;
2 var iNum2=10.0;
3 var iNum3=10;
4
5 alert(iNum1.toString()); //outpus "10"
6 alert(iNum2.toString()); //outpus "10"
7 alert(iNum3.toString(2)); //outpus "1010"
8 alert(iNum3.toString(8)); //outpus "12"
9 alert(iNum3.toString(16)); //outpus "A"
2、轉(zhuǎn)換成數(shù)字
ECMAScript提供了兩種把非數(shù)字的原始值轉(zhuǎn)換成數(shù)字的方法:parseInt()和parseFloat(),需要注意的是parseInt()是逐個(gè)字符轉(zhuǎn)換的,直到非數(shù)字字符為止。示例程序如下:
1 var iNum1=parseInt("1234blue"); //returns 1234
2 var iNum2=parseInt("0xA"); //returns 10
3 var iNum3=parseInt("22.5"); //returns 22
4 var iNum4=parseInt("blue"); //returns NaN
parseInt()方法還有基模式,可以把二進(jìn)制,八進(jìn)制,十六進(jìn)制或其他任何進(jìn)制的字符串轉(zhuǎn)換成整數(shù)。基是由parseInt()第二個(gè)參數(shù)指定的,示例如下:
1 var iNum1=parseInt("AF",16); //returns 175
2 var iNum2=parseInt("10",2); //returns 2
3 var iNum3=parseInt("10",8); //returns 8
4 var iNum4=parseInt("10",10); //returns 10
5 //注意:如果十進(jìn)制數(shù)有前導(dǎo)0要用基數(shù)模式
6 var iNum5=parseInt("010"); //returns 8
7 var iNum6=parseInt("010",8); //returns 8
8 var iNum7=parseInt("010",10); //returns 10
paraseFloat()沒有基模式,其他與parseInt()大致相同,示例:
1 var fNum1=paraseFloat("1234blue"); //returns 1234.0
2 var fNum2=paraseFloat("0xA"); //returns NaN
3 var fNum3=paraseFloat("22.5"); //returns 22.5
4 var fNum4=paraseFloat("22.34.5"); //returns 22.34
5 var fNum5=paraseFloat("0908"); //returns 908
6 var fNum6=paraseFloat("blue"); //returns NaN
3、強(qiáng)制類型轉(zhuǎn)換
ECMAScript中可用的強(qiáng)制類型轉(zhuǎn)換如下:
Boolean(value)——把給定的值轉(zhuǎn)換成Boolean型
Number(value)——把給定的值轉(zhuǎn)換成數(shù)字(可以是整數(shù)或浮點(diǎn)數(shù))
String(value)——把給定的值轉(zhuǎn)換成字符串
示例:
1 var b1=Boolean(""); //false - empty string
2 var b2=Boolean("hi"); //true - not empty string
3 var b3=Boolean(100); //true - not zero number
4 var b4=Boolean(null); //false - null
5 var b5=Boolean(0); //false - zero
6 var b6=Boolean(new Object()); //true object
7
8 var i1=Number(false); //0
9 var i2=Number(true); //1
10 var i3=Number(undefined); //NaN
11 var i4=Number(null); //0
12 var f5=Number("5.5"); //5.5
13 var i6=Number("56"); //56
14 var i7=Number("5.6.7"); //NaN
15 var i8=Number(new Object()); //NaN
16 var i9=Number(100); //100

作者:Artwl
本文首發(fā)博客園,版權(quán)歸作者跟博客園共有。轉(zhuǎn)載必須保留本段聲明,并在頁面顯著位置給出本文鏈接,否則保留追究法律責(zé)任的權(quán)利。
浙公網(wǎng)安備 33010602011771號(hào)