2.7 類型轉換
1、轉換成字串
所有對象都有toString()方法可以轉換成字串,要注意的是Number類型的toString()方法,它有兩種模式,即預設模式和基模式,採用預設模式toString()方法只是用相應的字串輸出對應的10進位數字值,用基模式可以用不同的基輸出數字。樣本:
複製代碼 代碼如下:var iNum1=10;
var iNum2=10.0;
var iNum3=10;
alert(iNum1.toString()); //outpus "10"
alert(iNum2.toString()); //outpus "10"
alert(iNum3.toString(2)); //outpus "1010"
alert(iNum3.toString(8)); //outpus "12"
alert(iNum3.toString(16)); //outpus "A"
2、轉換成數字
ECMAScript提供了兩種把非數位原始值轉換成數位方法:parseInt()和parseFloat(),需要注意的是parseInt()是逐個字元轉換的,直到非數字字元為止。樣本程式如下: 複製代碼 代碼如下:var iNum1=parseInt("1234blue"); //returns 1234
var iNum2=parseInt("0xA"); //returns 10
var iNum3=parseInt("22.5"); //returns 22
var iNum4=parseInt("blue"); //returns NaN
parseInt()方法還有基模式,可以把二進位,八進位,十六進位或其他任何進位的字串轉換成整數。基是由parseInt()第二個參數指定的,樣本如下: 複製代碼 代碼如下:var iNum1=parseInt("AF",16); //returns 175
var iNum2=parseInt("10",2); //returns 2
var iNum3=parseInt("10",8); //returns 8
var iNum4=parseInt("10",10); //returns 10
//注意:如果十進位數有前置0要用基數模式
var iNum5=parseInt("010"); //returns 8
var iNum6=parseInt("010",8); //returns 8
var iNum7=parseInt("010",10); //returns 10
paraseFloat()沒有基模式,其他與parseInt()大致相同,樣本: 複製代碼 代碼如下:var fNum1=paraseFloat("1234blue"); //returns 1234.0
var fNum2=paraseFloat("0xA"); //returns NaN
var fNum3=paraseFloat("22.5"); //returns 22.5
var fNum4=paraseFloat("22.34.5"); //returns 22.34
var fNum5=paraseFloat("0908"); //returns 908
var fNum6=paraseFloat("blue"); //returns NaN
3、強制類型轉換
ECMAScript中可用的強制類型轉換如下:
Boolean(value)——把給定的值轉換成Boolean型
Number(value)——把給定的值轉換成數字(可以是整數或浮點數)
String(value)——把給定的值轉換成字串
樣本: 複製代碼 代碼如下:var b1=Boolean(""); //false - empty string
var b2=Boolean("hi"); //true - not empty string
var b3=Boolean(100); //true - not zero number
var b4=Boolean(null); //false - null
var b5=Boolean(0); //false - zero
var b6=Boolean(new Object()); //true object
var i1=Number(false); //0
var i2=Number(true); //1
var i3=Number(undefined); //NaN
var i4=Number(null); //0
var f5=Number("5.5"); //5.5
var i6=Number("56"); //56
var i7=Number("5.6.7"); //NaN
var i8=Number(new Object()); //NaN
var i9=Number(100); //100
作者:天行健,自強不息