JS數據類型轉換


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 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM