js的parseInt函式結果為0很奇怪的問題

2021-09-01 17:05:16 字數 400 閱讀 2507

當執行的**為parseint("08")時,結果為0

而執行的**為parseint("0x")時,其中x為1~9之間除過8的數字,結果都是正常的數字

不太明白為什麼會出現這樣的結果

參考:今天再用parseint方法進行字元到數字轉化時,發現

parseint("09")+1結果為2

parseint("08")+1結果為1

而parserint("07")+1結果則正常

通過他人幫助得知,原來parseint方法吧「08」,「09」這些開頭為0的預設當做是8進製了,素以結果不對。

而如果想按照10進製來計算的話,應為:

parseint("08",10)+1 , 則結果正常,為9

看到上面的結果,貌似結果為零還是有真相的

js的parseInt函式結果為0很奇怪的問題

當執行的 為parseint 08 時,結果為0 而執行的 為parseint 0x 時,其中x為1 9之間除過8的數字,結果都是正常的數字 不太明白為什麼會出現這樣的結果 參考 今天再用parseint方法進行字元到數字轉化時,發現 parseint 09 1結果為2 parseint 08 1結...

js中parseInt函式的解析

首先還是從很熱門的例項parseint 09 0說起。parseint number,type 這個函式後面如果不跟第2個引數來表示進製的話,預設是10進製。比如說parseint 010 10 就是10進製的結果 10,parseint 010 2 就是2進製的結果 2,parseint 010 ...

JS深入理解 探索parseInt函式

看到這樣一道題目 1 2 3 map parseint 執行結果是什麼?為什麼?執行結果是 1,nan,nan 我們將題目的 轉換一下 1 2 3 map item,index 相當於 parseint 1 0 1 why?parseint 2 1 nan why?parseint 3 2 nan ...