JavaScript數(shù)據(jù)類型轉(zhuǎn)換實例(其他類型轉(zhuǎn)字符串、數(shù)值型、布爾類型)
前言
什么是數(shù)據(jù)類型轉(zhuǎn)換?
使用表單、prompt 獲取過來的數(shù)據(jù)默認類型是字符串類型的,此時就不能直接進行加減法運算,而需要轉(zhuǎn)換變量的數(shù)據(jù)類型。
通俗來說,數(shù)據(jù)類型轉(zhuǎn)換就是將一種數(shù)據(jù)類型轉(zhuǎn)換成另外一種數(shù)據(jù)類型。
在平常代碼的使用中,我們偶爾會遇到需要進行數(shù)據(jù)類型轉(zhuǎn)換的時候,比如將數(shù)值型轉(zhuǎn)換為字符串,或者將null/undefined轉(zhuǎn)換為布爾類型等等,這篇文章我們主要講以下三種類型的轉(zhuǎn)換:
- 其他類型轉(zhuǎn)為字符串
- 其他類型轉(zhuǎn)為數(shù)值型
- 其他類型轉(zhuǎn)為布爾類型
其他類型轉(zhuǎn)為字符串:
有三種方法
//第一種方法 var a=5;//數(shù)值類型轉(zhuǎn)為字符串 var b=a.toString(); console.log(b);//console可以在瀏覽器中打印出輸出的信息 console.log(typeof b);//typeof可以顯示當前文本的類型 //第二種方法 var a=5; console.log(String(a));//直接打印出轉(zhuǎn)換為字符串類型的內(nèi)容 //第三種方法 var a=5; var b=''+a; console.log(b); //這種方法利用了在JS中如果有加號,那么從遇到的第一個字符串類型開始,后面的全變?yōu)樽址愋?
如果是布爾類型轉(zhuǎn)換為字符串類型的話
var a=true; console.log(String(a));//在上述三種類型中任選一種用即可
這樣轉(zhuǎn)換后的結(jié)果還是true
但是如果我們用
console.log(typeof String(a));
驗證后,就會發(fā)現(xiàn)雖然顯示還是true,但類型已經(jīng)轉(zhuǎn)換為字符串類型。
其他類型轉(zhuǎn)為數(shù)值型
同樣也有三種方法
//第一種方法 var a='1'; var b=Number(a); console.log(b);//內(nèi)容為數(shù)值的字符型轉(zhuǎn)數(shù)值,最終顯示結(jié)果就為原數(shù)值 var c=Number('c'); var d=Number(null);//在這里null可以轉(zhuǎn)換為0 var e=Number(undefined); console.log(c,d,e); //輸出結(jié)果為NaN 0 NaN //NaN表示not a number
注:如果是字符串類型轉(zhuǎn)數(shù)值類型,那么串內(nèi)的內(nèi)容必須要是數(shù)字,如果不是則會顯示NaN。
//第二種方法 //int表示整型數(shù)值 var a=parseInt('5'); var b=parseInt('q12'); var c=parseInt(null); var d=parseInt(undefined); console.log(a,b,c,d); //輸出結(jié)果為5 NaN NaN NaN
可以看到,第二種方法的null沒有轉(zhuǎn)換為0,而是NaN。
//第三種方法 //float表示浮點型數(shù)值 var a=parseFloat('2.56qwe'); var b=parseFloat('2.4.6.8'); var c=parseFloat('q12'); var d=parseFloat(null); var e=parseFloat(undefined); console.log(a,b,c,d,e); //輸出結(jié)果為2.56 2.4 NaN NaN NaN
當轉(zhuǎn)換類型為浮點型數(shù)值時
會默認輸出第一個小數(shù)點前的數(shù)字以及第一個小數(shù)點后的所有有效數(shù)字,如遇到字符或者第二個小數(shù)點停止。
其他類型轉(zhuǎn)為布爾類型
只有一種方法
var a=Boolean('0'); var b=Boolean(0); var c=Boolean('5'); var d=Boolean(null); var e=Boolean(undefined); var f=Boolean('');//字符串內(nèi)容為空 var g=Boolean(' ');//字符串內(nèi)容為空格 console.log(a,b,c,d,e,f,g); //輸出結(jié)果為true false true false false false true
注意:如果是字符串轉(zhuǎn)換為布爾類型,那么只要字符串中有內(nèi)容(內(nèi)容為空格也算有內(nèi)容),轉(zhuǎn)換結(jié)果就為true,如果字符串內(nèi)容為空,則為false。
總結(jié)
到此這篇關(guān)于JavaScript數(shù)據(jù)類型轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)JavaScript數(shù)據(jù)類型轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
維護loading加載狀態(tài)的幾個方法小結(jié)
在項目開發(fā)中,當頁面請求接口時,組件局部或者頁面全局顯示loading加載遮罩可謂是司空見慣了,下面來討論一下如何優(yōu)雅的使用loading狀態(tài),文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下2024-09-09Javascript的promise,async和await的區(qū)別詳解
這篇文章主要為大家詳細介紹了Javascript的promise,async和await的區(qū)別,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03