所謂的類型轉換,就是將一種數據類型轉換為另外一種數據類型,例如上一節課說到的,如果一個數字與一個字符串相加,JavaScript會自動將數字轉換為字符串,然後再與另外一個字符串相加(隱式類型轉換)。
我們都知道,JavaScript是一種弱類型的語言,這一點區別於傳統編程語言(如C和Java)。雖然在運算時,JavaScript會自動進行類型轉換,但是為了避免自動轉換或不轉換產生的不良後果,有時候我們需要進行顯式的類型轉換。
隱式類型轉換指的是JavaScript自動進行的類型轉換,顯式類型轉換指的是我們手動用代碼強制進行的類型轉換。
在JavaScript中,將字符串型數據轉換為數值型數據有parseInt()和parseFloat()這2種方法。其中,parseInt()可以將字符串轉換為整型數據;parseFloat()可以將字符串轉換為浮點型數據。
語法:
parseInt() //將字符串型轉換為整型 parseFloat() //將字符串型轉換為浮點型
說明:
將字符串型轉換為整型,前提是字符串一定要是數值字符串。那什麼叫數值字符串呢?“123”、“3.1415”這些只有數字的字符串就是數值字符串,而“hao123”、“360cn”等就不是數值字符串。
舉例:
在線測試<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript"> var m=parseInt("3.14")+10; var n=parseFloat("3.14")+10; document.write(m+"<br/>"); document.write(n); </script> </head> <body> </body> </html>
在浏覽器預覽效果如下:
分析:
parseInt("3.14")的結果是3,而parseFloat("3.14")的結果是3.14。大家好好理解一下。
在JavaScript中,將數值型數據(整型或浮點型)轉換為字符串,都是使用toString()方法。
語法:
.toString()
舉例:
在線測試<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript"> var n=3.1415; var str=n.toString()+926; var num=n+926; document.write(str+"<br/>"); document.write(num); </script> </head> <body> </body> </html>
在浏覽器預覽效果如下:
分析:
這個例子雖然簡單,不過涉及知識也不少。大家好好琢磨一下,也是非常值得思考的一個例子。
記住,算術運算符的兩邊必須都是數值,若在“+”運算中存在字符或字符串,則該表達式將是字符串表達式。因為JavaScript會自動將數值型數據轉換成字符串型數據。
類型轉換雖然內容比較少,但是在實際開發中,我們會經常要用到的。