JavaScript數(shù)據(jù)類型轉(zhuǎn)換實(shí)例(其他類型轉(zhuǎn)字符串、數(shù)值型、布爾類型)
前言
 什么是數(shù)據(jù)類型轉(zhuǎn)換?
使用表單、prompt 獲取過來的數(shù)據(jù)默認(rèn)類型是字符串類型的,此時就不能直接進(jìn)行加減法運(yùn)算,而需要轉(zhuǎn)換變量的數(shù)據(jù)類型。
通俗來說,數(shù)據(jù)類型轉(zhuǎn)換就是將一種數(shù)據(jù)類型轉(zhuǎn)換成另外一種數(shù)據(jù)類型。
在平常代碼的使用中,我們偶爾會遇到需要進(jìn)行數(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可以顯示當(dāng)前文本的類型 //第二種方法 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));
驗(yàn)證后,就會發(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表示浮點(diǎn)型數(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
當(dāng)轉(zhuǎn)換類型為浮點(diǎn)型數(shù)值時
會默認(rèn)輸出第一個小數(shù)點(diǎn)前的數(shù)字以及第一個小數(shù)點(diǎn)后的所有有效數(shù)字,如遇到字符或者第二個小數(shù)點(diǎn)停止。
其他類型轉(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)文章
 維護(hù)loading加載狀態(tài)的幾個方法小結(jié)
在項(xiàng)目開發(fā)中,當(dāng)頁面請求接口時,組件局部或者頁面全局顯示loading加載遮罩可謂是司空見慣了,下面來討論一下如何優(yōu)雅的使用loading狀態(tài),文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09
 Javascript的promise,async和await的區(qū)別詳解
這篇文章主要為大家詳細(xì)介紹了Javascript的promise,async和await的區(qū)別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03
 微信小程序?qū)崿F(xiàn)環(huán)形進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)環(huán)形進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06

