熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

js中parseInt函數淺談

2013-11-15 12:10:19  來源: JSP教程 
這篇文章介紹了Js中的parseInt函數有需要的朋友可以參考一下  

  從很熱門的實例parseInt("")==說起
parseInt(numbertype)這個函數後面如果不跟第個參數來表示進制的話默認是進制
比如說parseInt("")就是進制的結果
parseInt("")就是進制的結果
parseInt("")就是進制的結果
parseInt("")就是進制的結果

  下面我來說說沒有指定進制單位的時候默認是進制如果是裡面的Number是開頭的就認為是進制的如果是x開頭的就認為是進制的
parseInt("")==>parseInt("")===>parseInt("")==>parseInt("")==>parseInt("x")==>parseInt("")==>

  到這裡很順利
許多事情不是想的那麼順利比如說如果Number不是我們給的正常數字又怎麼解釋呢查了些資料是這樣說的
parseInt(Number) 如果中間的Number遇到不是數字()的就中斷往下解析就只取不是數字之前的值去運算:比如parseInt("x")就相當於 parseInt("")===》parseInt("")==>又如parseInt("x")===& gt;parseInt("")===>parseInt("")===>
到這裡我們似乎無視了一個就是進制中的有個x它也不是數字是不是遇到x也無視了呢嘗試下了發現在這個特殊處理了下
比如parseInt("x")===>parseInt("")===>和最上面的結果相符但卻和我剛說的不是字符就自動不解析就應該理解成parseInt("")相違背

  這裡就需要注意下parseInt裡面的Number是這樣的當如果第一個不是且不是字符就認為是進制一切照舊執行遇到字母就停下 來又當如果是第一個是後面那個就需要注意了如果是x就繼續往下走這裡的x不代表數值只能和前面的一起組成x代表進制的單位後面的才 按上面我們講的遇到非數字停止解析的規則來比如parseInt("xt")==>parseInt("x")==> parseInt("")就是NaN了

  總結下parseInt(Number)裡面的值:如果是第一位不是就遇到字母就停止解析並把字母前面的值作為進制去解析如果第一個就是字母那麼值就是空空成了NaN
比如:parseInt("a")==>parseInt("")==>NaNparseInt("a")==>parseInt("")==>parseInt("")==>;
如 果第一位是且第位不是x也和上面一樣遇到字母就停止解析並把字母前面的值作為進制去解析比如:parseInt("a")==> parseInt("")==>parseInt("")==>PS:這個有點特殊因為a被解析成了還不具備看做是 進制的結構下面那個就明顯了
parseInt("a")==>parseInt("")==> parseInt("")==>;如果第一位是且第位是x那後面也和上面一樣遇到字母就停止解析並把字母前面的值作為進制去 解析比如:parseInt("xt")==>parseInt("")==>NaNparseInt("xt")==& gt;parseInt("")==>


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20434.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.