常見js類型轉(zhuǎn)換


在編寫js腳本的時(shí)候,經(jīng)常會(huì)遇到要對(duì)數(shù)據(jù)進(jìn)行類型轉(zhuǎn)換的地方。js實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換的方式主要是三種:轉(zhuǎn)換函數(shù)、強(qiáng)制類型轉(zhuǎn)換、利用js變量弱類型轉(zhuǎn)換。

一、字符串轉(zhuǎn)數(shù)字

js提供了parseInt()和parseFloat()兩個(gè)轉(zhuǎn)換函數(shù)。前者把值轉(zhuǎn)換成整數(shù),后者把值轉(zhuǎn)換成浮點(diǎn)數(shù)。只有對(duì)String類型調(diào)用這些方法,這兩個(gè)函數(shù)才能正確運(yùn)行;對(duì)其他類型返回的都是NaN(Not a Number)。
一些示例如下:

parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN

parseInt()方法還有基模式,可以把二進(jìn)制、八進(jìn)制、十六進(jìn)制或其他任何進(jìn)制的字符串轉(zhuǎn)換成整數(shù)。基是由parseInt()方法的第二個(gè)參數(shù)指定的,示例如下:

parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10
//如果十進(jìn)制數(shù)包含前導(dǎo)0,那么最好采用基數(shù)10,這樣才不會(huì)意外地得到八進(jìn)制的值。例如:
parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10

parseFloat()方法與parseInt()方法的處理方式相似。
使用parseFloat()方法的另一不同之處在于,字符串必須以十進(jìn)制形式表示浮點(diǎn)數(shù),parseFloat()沒有基模式。

parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN

強(qiáng)制類型轉(zhuǎn)換Number(value)——把給定的值轉(zhuǎn)換成數(shù)字(可以是整數(shù)或浮點(diǎn)數(shù)),與parseInt()和parseFloat()方法的處理方式相似,只是它轉(zhuǎn)換的是整個(gè)值,而不是部分值。

Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100
二、 字符串、數(shù)組互轉(zhuǎn)
  1. 字符串=>數(shù)組
    split() 方法用于把一個(gè)字符串分割成字符串?dāng)?shù)組。
var str="How,are,you,doing,today";
var n=str.split(",");//n=['How','are','you','doing','today']
  1. 數(shù)組=>字符串
    toString() 方法可把數(shù)組轉(zhuǎn)換為字符串,并返回結(jié)果。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.toString();//'Banana,Orange,Apple,Mango'

不怕千萬人阻擋,只怕自己投降。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 群體特征:易沖動(dòng) 短暫 力量大 低智商 執(zhí)拗 偶像意識(shí)性強(qiáng) 個(gè)人特征: 理智 有獨(dú)立意識(shí) 懷疑精神 優(yōu)勢容易發(fā)揮出...
    仰望云端閱讀 737評(píng)論 0 1
  • 記得當(dāng)初到新疆考特崗教師,有諸多的朋友勸阻我,新疆太遠(yuǎn)了。我還記得我當(dāng)時(shí)的想法,在哪都是上班,在哪都不會(huì)是...
    yingzi_4b17閱讀 339評(píng)論 0 0
  • 剪貼板說明 在linux中有三個(gè)x-selection,分別是XA_PIRMARY、XA_SECONDARY和XA...
    劉劉劉月月啊閱讀 1,897評(píng)論 0 0

友情鏈接更多精彩內(nèi)容