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
