parseInt實例詳解


parseInt() 函數可解析一個字符串,並返回一個整數。

                 parseInt(string, radix)
參數 描述
string 必需。要被解析的字符串。
radix

可選。表示要解析的數字的基數。該值介於 2 ~ 36 之間,該參數可以省略或為0

如果省略該參數或其值為 0,則數字將以 10 為基礎來解析。如果string以 “0x” 或 “0X” 開頭,將以 16 為基數。

如果該參數小於 2 或者大於 36,則 parseInt() 將返回 NaN。

說明

當參數 radix 的值為 0,或沒有設置該參數時,parseInt() 會根據 string 來判斷數字的基數:如果 string 以 "0x" 開頭,parseInt() 會把 string 的其余部分解析為十六進制的整數。如果 string 以 0 開頭,那么 ECMAScript v3 允許 parseInt() 的一個實現把其后的字符解析為八進制或十進制的數字。如果 string 以 1 ~ 9 的數字開頭,parseInt() 將把它解析為十進制的整數。

 

parseInt("10");            //返回 10
parseInt("0x12")      //返回18 十六進制
parseInt("010");        //未定:返回 10 或 8  瀏覽器理解為八進制或十進制

parseInt("19",10); //返回 19 (10+9) parseInt("11",2); //返回 3 (2+1) parseInt("17",8); //返回 15 (8+7) parseInt("1f",16); //返回 31 (16+15)
parseInt("19",14); //返回 23 (14+9) 
parseInt("19",18); //返回 27 (18+9)

parseInt("19",37); //返回  NaN 基數不在2-36范圍內
parseInt("11",1); //返回  NaN 基數不在2-36范圍內
parseInt("92",8); //返回 NaN 9>8 字符串數字不能大於基數 
 

拓展 

["1", "2", "3"].map(parseInt)輸出什么?

["1", "2", "3"].map(parseInt)等同於
["1","2","3"].map(function(ele,index){
  return parseInt(ele,index)
})

等於調用了三次parseInt方法:
第一次 parseInt("1",0) //基數為0時,按照上邊陳述即為10進制,返回 1
第一次 parseInt("2",1)//基數為1,不在2-36范圍內,默認輸出NaN
第一次 parseInt("3",2)//基數為2,因為字符串3大於基數不合法,解析為NaN
答案也就是:[1, NaN, NaN]

 

個人博客傳送門》》》》》

/** *  ┏┓   ┏┓+ + * ┏┛┻━━━┛┻┓ + + * ┃       ┃   * ┃   ━   ┃ ++ + + + * ████━████ ┃+ * ┃       ┃ + * ┃   ┻   ┃ * ┃       ┃ + + * ┗━┓   ┏━┛ *   ┃   ┃            *   ┃   ┃ + + + + *   ┃   ┃ *   ┃   ┃ + 神獸保佑 *   ┃   ┃ 代碼無bug   *   ┃   ┃  +          *   ┃    ┗━━━┓ + + *   ┃        ┣┓ *   ┃        ┏┛ *   ┗┓┓┏━┳┓┏┛ + + + + *    ┃┫┫ ┃┫┫ *    ┗┻┛ ┗┻┛+ + + + */ 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM