JavaScript數據類型轉換簡單方法舉例
一、類型轉換簡介
所謂的類型轉換,就是將一種數據類型轉換為另外一種數據類型,例如上一節(jié)課說到的,如果一個數字與一個字符串相加,JavaScript會自動將數字轉換為字符串,然后再與另外一個字符串相加(隱式類型轉換)。
我們都知道,JavaScript是一種弱類型的語言,這一點區(qū)別于傳統(tǒng)編程語言(如C和Java)。雖然在運算時,JavaScript會自動進行類型轉換,但是為了避免自動轉換或不轉換產生的不良后果,有時候我們需要進行顯式的類型轉換。
隱式類型轉換指的是JavaScript自動進行的類型轉換,顯式類型轉換指的是我們手動用代碼強制進行的類型轉換。
1、字符串型轉換為數值型
在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。大家好好理解一下。
2、數值型轉換為字符串型
在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會自動將數值型數據轉換成字符串型數據。
類型轉換雖然內容比較少,但是在實際開發(fā)中,我們會經常要用到的。
二、JavaScript中數據類型轉換函數總結
在JavaScript中,可以使用一些內置函數將一個數據類型轉換為另一個數據類型。這些內置函數包括toString()、parseInt()、parseFloat()和Number()。
toString()
toString()方法可以將數字、字符串和布爾值轉換為字符串類型。例如:
var num = 123; var str = num.toString(); //將數字轉換為字符串 console.log(typeof str); //輸出: string var bool = true; var str = bool.toString(); //將布爾值轉換為字符串 console.log(typeof str); //輸出: string
parseInt()和parseFloat()
parseInt()和parseFloat()方法可以將字符串轉換為數字類型。parseInt()方法將字符串轉換為整數類型,而parseFloat()方法將字符串轉換為浮點數類型。例如:
var str = "123"; var num = parseInt(str); //將字符串轉換為整數 console.log(typeof num); //輸出: number var str = "3.14"; var num = parseFloat(str); //將字符串轉換為浮點數 console.log(typeof num); //輸出: number
注意:如果不能成功將字符串轉換為數字類型,則會返回NaN(非數值)。例如:
var str = "abc"; var num = parseInt(str); //將字符串轉換為整數,但是失敗 console.log(num); //輸出: NaN
Number()
Number()方法可以將任何數據類型都轉換為數字類型。例如:
var str = "123"; var num = Number(str); //將字符串轉換為數字 console.log(typeof num); //輸出: number var bool = true; var num = Number(bool); //將布爾值轉換為數字 console.log(typeof num); //輸出: number var obj = {a: 1}; var num = Number(obj); //將對象轉換為數字,但是失敗 console.log(num); //輸出: NaN
需要注意的是,在將字符串轉換為數字時,Number()方法會嘗試將字符串轉換為整數或浮點數。如果轉換失敗,則返回NaN。
在進行數據類型轉換時,需要注意可能會導致意料之外的結果。例如,將字符串轉換為數字時,如果字符串中包含非數字字符,則會返回NaN。因此,在進行類型轉換之前,應該先進行數據類型的檢查以避免錯誤。
總結
到此這篇關于JavaScript數據類型轉換的文章就介紹到這了,更多相關JS數據類型轉換內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
UEditor 自定義圖片視頻尺寸校驗功能的實現(xiàn)代碼
UEditor支持單圖、多圖以及視頻上傳,編輯器配置項支持文件格式、文件大小校驗,對于文件寬高尺寸校驗暫不支持。本文給大家介紹UEditor 自定義圖片視頻尺寸校驗功能的實現(xiàn)代碼,感興趣的朋友一起看看吧2020-10-10JavaScript 嵌套函數指向this對象錯誤的解決方法
JavaScript對于全局函數內的this綁定為全局對象,而對于嵌套函數也采用了相同的解釋。2010-03-03