JS資料型別轉換

weixin_34219944發表於2012-12-12

JS資料型別轉換方法主要有三種:轉換函式、強制型別轉換、利用js變數弱型別轉換。

1、轉換函式:

js提供了parseInt()和parseFloat()兩個轉換函式。前者把值轉換成整數,後者把值轉換成浮點數。只有對String型別呼叫這些方法,這兩個函式才能正確執行;對其他型別返回的都是NaN(Not a Number)。

 在判斷字串是事是數字值前,parseInt()和parseFloat()都會仔細分析該字串。parseInt()方法首先檢視位置0處的字元,判斷它是否是個有效數字;如果不是,該方法返回NaN,不再繼續執行其他操作。如果該字元是有效數字,該方法將檢視位置1處的字元,進行同樣的測試。這一過程將持續到發現非有效數字的字元為止,此時parseInt()將把該字元之前的字串轉換成數字。

例如: 

parseInt("1234blue");//return 1234

parseInt("22.5");// return 22     對於整數來說,小數點是無效字元

parseInt("blue");//return  NaN

parseInt()方法還有基模式,可以把二進位制、八進位制、十六進位制或其他任何進位制的字串轉換成整數。基是由parseInt()方法的第二個引數指定的。

例如:

parseInt("AF",16); //return 175 十六進位制

parseInt("10",2);//return 2 二進位制

parseInt("10",8);//return 8 八進位制

parseInt("10",10);//return 10 十進位制

如果十進位制數包含前導0,那麼最好採用基數10,這樣才不會意外地得到八進位制的值。

例如:

parseInt("010");//return 8

parseInt("010",8);//return 8

parseInt("010",10);//return 10

parseFloat()方法與parseInt()方法的處理方式相似,但有不同之處 。當字串中有兩個小數點,第二個小數點將被看作無效的,即字串“22.34.5”將被解析為22.34。另外一個不同之處在於,字串必須以十進位制形式表示浮點數,不能用八進位制或十六進位制。parseFloat()沒有基模式。

例如:

parseFloat("1234blue");//return 1234.0

parseFloat("22.34.5");//return 22.34

parseFloat("0908");//return 908

parseFloat("blue");//return NaN

2、強制型別轉換

Boolean(value)--把給定的值轉換成Boolean型,如果轉換的值是至少有一個字元的字串、非0數字或物件時,返回true;如果該值是空字串、數字0、undefined或null,將返回false。

Boolean("");//return false

Boolean("hi");//return true

Boolean(100);//return true

Boolean(null);//return false

Boolean(0);//return false

Boolean(new Object());//return true 

Number(value)--把給定的值轉換成數字(整數或浮點數),如果轉換的值不是數值,則會返回NaN

Number(false);//return 0

Number(true);//return 1

Number(undefined);//return NaN

Number(null);//return 0

Number("5.5");//return 5.5

Number("56");//return 56

Number("5.6.7");//return NaN

Number(new Object());//return NaN 

String(value)--把給定的值轉換成字串

3、js變數弱型別轉換

------------------------------------------------------------------------------------

原文連結:http://www.cnblogs.com/446557021/archive/2011/10/13/2211043.html 

相關文章