天天看點

JS學習--函數彙總

1、parseInt() 整型轉換函數

   (1) 函數簡介

      parseInt(string, radix)

      String表示需要進行轉換的參數,radix表示解析數字的基數。

      radix的範圍為:2--36,如果超出該範圍【即傳入的radix小于2或者大于36】,則傳回NAN.

      a、如果radix傳入為0,則預設以十進制進行轉換。

      b、 如果在省略radix參數的情況下,傳入的string參數帶有“0x”,則将會以16進制進行轉換;傳入的string參數帶有“0”,則将會以8進制進行轉換。

     一般情況下,學過的就八進制、十進制以及十六進制。而parseInt()函數可以使用2--36進制,是以測試了上述進制以外的其他進制。

     如下:parseInt('25',3)如果需要将傳入的參數以3進制的方式進行轉換,得到結果為2

     原因入下:由于八進制是用0至7的數表示,同理3進制是用0、1、2表示,而傳入的參數為25,顯然5大于3,是以被舍棄。

     計算方式為:

JS學習--函數彙總

     而不是

JS學習--函數彙總

parseInt('1f',14) 結果為1

      另外強調一點,0進制是一個比較有争議的問題,在不同的浏覽器上表現形式不同。parseInt(3,0) //結果可以為NAN,也可以為3【十進制方式處理】

     parseInt(3,2) NAN,處理情況同上,參數和基數會進行比較,由于2進制由0、1表示,是以傳回為NAN;parseInt('15',2) 結果為1

(2) 轉換失敗案例

    parseInt('abc123'); -->結果為NAN

    parseInt('1abc23'); -->結果為1

    根據執行結果可知,如果轉換的字元串中所包含的字母,放置在首位,則轉換失敗,為NAN。

    但隻要首位為非數字類型,則會産生為NAN,除此之外均可正常轉換。

  【函數在遇到第一個異常字元時就會放棄,無論剩餘的那部分字元串是否可用】

2、parseFloat()函數

 (1) 函數簡介

    parseFloat函數同整型轉換函數不同,預設轉換為十進制的數。不涉及到其他進制,是以該函數需要傳入的參數隻有一個。

同整型轉換函數相同,該函數同樣在遇到第一個異常字元時就會放棄,無論剩餘的那部分字元串是否可用。

(2) 參數可含有指數

    parseFloat('123e-2');-->1.23

    課外知識:123e-2表示的是

JS學習--函數彙總

2、isNaN()函數

 (1) 函數簡介

    用于判斷某個字元串不是數字,如果參數屬于數字,傳回結果為true,反之則為false。

3、eval()函數

 (1) 函數簡介

     類似于資料庫中的動态執行語句,使用該函數,則會執行函數内的參數。

(2) 案例

     function getEvalVal(){

         eval("var i = 1")

         return i;

   }

執行完成後,列印出的結果為1

說明通過使用eval函數後,該函數執行内部參數語句,是以i的值為1