JavaScript數(shù)據(jù)類型轉(zhuǎn)換實(shí)例(其他類型轉(zhuǎn)字符串、數(shù)值型、布爾類型)
前言
什么是數(shù)據(jù)類型轉(zhuǎn)換?
使用表單、prompt 獲取過來的數(shù)據(jù)默認(rèn)類型是字符串類型的,此時(shí)就不能直接進(jìn)行加減法運(yùn)算,而需要轉(zhuǎn)換變量的數(shù)據(jù)類型。
通俗來說,數(shù)據(jù)類型轉(zhuǎn)換就是將一種數(shù)據(jù)類型轉(zhuǎn)換成另外一種數(shù)據(jù)類型。
在平常代碼的使用中,我們偶爾會(huì)遇到需要進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換的時(shí)候,比如將數(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中如果有加號(hào),那么從遇到的第一個(gè)字符串類型開始,后面的全變?yōu)樽址愋?
如果是布爾類型轉(zhuǎn)換為字符串類型的話
var a=true; console.log(String(a));//在上述三種類型中任選一種用即可
這樣轉(zhuǎn)換后的結(jié)果還是true
但是如果我們用
console.log(typeof String(a));
驗(yàn)證后,就會(huì)發(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ù)字,如果不是則會(huì)顯示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ù)值時(shí)
會(huì)默認(rèn)輸出第一個(gè)小數(shù)點(diǎn)前的數(shù)字以及第一個(gè)小數(shù)點(diǎn)后的所有有效數(shù)字,如遇到字符或者第二個(gè)小數(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JavaScript數(shù)據(jù)類型轉(zhuǎn)換詳解(推薦)
- javaScript把其它類型轉(zhuǎn)換為Number類型
- JavaScript數(shù)學(xué)對(duì)象之?dāng)?shù)字進(jìn)制轉(zhuǎn)換
- JavaScript時(shí)間對(duì)象Date內(nèi)置構(gòu)造函數(shù)操作實(shí)例
- JavaScript時(shí)間對(duì)象之常用方法的設(shè)置實(shí)例
- java中json-diff簡(jiǎn)單使用及對(duì)象是否一致詳解
- JavaScript對(duì)象類型轉(zhuǎn)換的分類及步驟詳解
相關(guān)文章
用js實(shí)現(xiàn)小球的自由移動(dòng)代碼
本篇文章小編為大家介紹,用js實(shí)現(xiàn)小球的自由移動(dòng)代碼。需要的朋友參考下2013-04-04只需一行代碼,輕松實(shí)現(xiàn)一個(gè)在線編輯器
在瀏覽器地址欄中輸入一行代碼:data:text/html, <html contenteditable> ,回車即可把瀏覽器變臨時(shí)編輯器(需要瀏覽器支持 HTML5 屬性 contenteditable)2013-11-11維護(hù)loading加載狀態(tài)的幾個(gè)方法小結(jié)
在項(xiàng)目開發(fā)中,當(dāng)頁面請(qǐng)求接口時(shí),組件局部或者頁面全局顯示loading加載遮罩可謂是司空見慣了,下面來討論一下如何優(yōu)雅的使用loading狀態(tài),文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09WdatePicker.js時(shí)間日期插件的使用方法
本篇文章主要介紹了WdatePicker.js時(shí)間日期插件的使用方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07Javascript的promise,async和await的區(qū)別詳解
這篇文章主要為大家詳細(xì)介紹了Javascript的promise,async和await的區(qū)別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03微信小程序?qū)崿F(xiàn)環(huán)形進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)環(huán)形進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06