最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

js中parseInt函數(shù)的簡(jiǎn)單介紹

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 20:17:10
文檔

js中parseInt函數(shù)的簡(jiǎn)單介紹

js中parseInt函數(shù)的簡(jiǎn)單介紹:這篇文章介紹了Js中的parseInt函數(shù),有需要的朋友可以參考一下從很熱門的實(shí)例parseInt("09")==0說(shuō)起。parseInt(number,type)這個(gè)函數(shù)后面如果不跟第2個(gè)參數(shù)來(lái)表示進(jìn)制的話,默認(rèn)是10進(jìn)制。比如說(shuō)parseInt("010"
推薦度:
導(dǎo)讀js中parseInt函數(shù)的簡(jiǎn)單介紹:這篇文章介紹了Js中的parseInt函數(shù),有需要的朋友可以參考一下從很熱門的實(shí)例parseInt("09")==0說(shuō)起。parseInt(number,type)這個(gè)函數(shù)后面如果不跟第2個(gè)參數(shù)來(lái)表示進(jìn)制的話,默認(rèn)是10進(jìn)制。比如說(shuō)parseInt("010"

這篇文章介紹了Js中的parseInt函數(shù),有需要的朋友可以參考一下

從很熱門的實(shí)例parseInt("09")==0說(shuō)起。
parseInt(number,type)這個(gè)函數(shù)后面如果不跟第2個(gè)參數(shù)來(lái)表示進(jìn)制的話,默認(rèn)是10進(jìn)制。
比如說(shuō)parseInt("010",10)就是10進(jìn)制的結(jié)果:10,
parseInt("010",2)就是2進(jìn)制的結(jié)果:2,
parseInt("010",8)就是8進(jìn)制的結(jié)果:8,
parseInt("010",16)就是2進(jìn)制的結(jié)果:16。

下面我來(lái)說(shuō)說(shuō)沒有指定進(jìn)制單位的時(shí)候,默認(rèn)是10進(jìn)制,但:如果是里面的Number是0開頭的就認(rèn)為是8進(jìn)制的,如果是0x開頭的就認(rèn)為是16進(jìn)制的。
parseInt("10")==>parseInt("010",10)===>10parseInt("010")==>parseInt("010",8)==>8parseInt("0x10")==>parseInt("010",16)==>16.

到這里很順利.
許多事情不是想的那么順利,比如說(shuō)如果Number不是我們給的正常數(shù)字又怎么解釋呢。查了些資料,是這樣說(shuō)的:
parseInt(Number)如果中間的Number遇到不是數(shù)字(0-9)的就中斷往下解析,就只取不是數(shù)字之前的值去運(yùn)算:比如parseInt("100x"),就相當(dāng)于parseInt("100")===》parseInt("100",10)==>100,又如parseInt("0100x")===>parseInt("0100")===>parseInt("100",8)===>64.
到這里我們似乎無(wú)視了一個(gè)就是16進(jìn)制中的有個(gè)x,它也不是數(shù)字,是不是遇到x也無(wú)視了呢。嘗試下了發(fā)現(xiàn)在這個(gè)特殊處理了下,
比如parseInt("0x10")===>parseInt("10",16)===>16和最上面的結(jié)果相符,但卻和我剛說(shuō)的,不是字符就自動(dòng)不解析就應(yīng)該理解成parseInt("0")相違背。

這里就需要注意下,parseInt里面的Number是這樣的,當(dāng)如果第一個(gè)不是0且不是字符就認(rèn)為是10進(jìn)制,一切照舊執(zhí)行,遇到字母就停下來(lái)。又當(dāng)如果是第一個(gè)是0,后面那個(gè)就需要注意了,如果是x就繼續(xù)往下走,這里的x不代表數(shù)值,只能和前面的0一起組成0x代表16進(jìn)制的單位,后面的才按上面我們講的遇到非數(shù)字停止解析的規(guī)則來(lái)。比如parseInt("0xt")==>parseInt("0x")==>parseInt("",16)就是NaN了。

總結(jié)下,parseInt(Number)里面的值:如果是第一位不是0就遇到字母就停止解析,并把字母前面的值作為10進(jìn)制去解析,如果第一個(gè)就是字母那么值就是空,空成了NaN,
比如:parseInt("a")==>parseInt("",10)==>NaN.parseInt("10a")==>parseInt("10")==>parseInt("10",10)==>10;
如果第一位是0,且第2位不是x也和上面一樣遇到字母就停止解析,并把字母前面的值作為8進(jìn)制去解析,比如:parseInt("0a")==>parseInt("0")==>parseInt("0",10)==>0.PS:這個(gè)有點(diǎn)特殊,因?yàn)?a被解析成了0,還不具備看做是8進(jìn)制的結(jié)構(gòu),下面那個(gè)就明顯了。
parseInt("010a")==>parseInt("010")==>parseInt("10",8)==>8;如果第一位是0,且第2位是x那后面也和上面一樣遇到字母就停止解析,并把字母前面的值作為16進(jìn)制去解析,比如:parseInt("0xt")==>parseInt("",16)==>NaN.parseInt("0x12t")==>parseInt("12",16)==>18.

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

js中parseInt函數(shù)的簡(jiǎn)單介紹

js中parseInt函數(shù)的簡(jiǎn)單介紹:這篇文章介紹了Js中的parseInt函數(shù),有需要的朋友可以參考一下從很熱門的實(shí)例parseInt("09")==0說(shuō)起。parseInt(number,type)這個(gè)函數(shù)后面如果不跟第2個(gè)參數(shù)來(lái)表示進(jìn)制的話,默認(rèn)是10進(jìn)制。比如說(shuō)parseInt("010"
推薦度:
標(biāo)簽: 中的 介紹 簡(jiǎn)單
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top