中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

好程序員web前端培訓分享關于parseInt函數的一切

發布時間:2020-08-12 16:05:14 來源:ITPUB博客 閱讀:147 作者:好程序員 欄目:web開發

   好程序員web前端培訓分享關于parseInt函數的一切 關于JS的手動類型轉換,parseInt是我們最早接觸的函數之一。

   接下來我們詳細的總結一下它的用法,你可以點擊收藏,以備不時之需。

parseInt()

作用 是將參數(通常為字符串)強制轉換為整數。

它有兩個參數,第二個可以省略,我們先展示常見的用法

1. 轉換規則: 依次將字符串中從左到右的數字部分轉為整數,一旦轉換失敗,返回NaN。

(1) 參數是字符串類型:

var   a   =   parseInt ( 10 );   //將字符串轉成整數類型 console.log(a);   // 10 var   b   =   parrseInt( 10 true );   //將有效數字部分轉為整數,提取開頭數字部分 console.log(b);   // 10 var   c   =   parseInt ( 10 true20 );   //只將開頭有效部分轉為整數 console.log(c);   //10 var   d   =   parseInt ( 045 zoo );   //開頭部分轉為整數,數字前面的0省略 console.log(d);   //45 var   f   =   parseInt ( 34.5 );   //整數部分,小數點非數字部分,舍去 console.log(f);   //34 var   g   =   parseInt ( a3 );   //若不是以數字開頭,轉為NaN(Not a Number 不是數字)的特殊數值 console.log(g);   //NaN

(2) 參數是數字類型:

var   a   =   parseInt ( 3.4 );   //依然轉為數字,但是取整 console.log(a);   //3

(3) 其它數據類型:只要開頭不包含有效數字,結果都轉為NaN

  var   a   =   parseInt ( true );

  console.log(a);   //NaN  

  var   b   =   parseInt ( null );

  console.log(b);   //NaN  

  var   c   =   parseInt ( undefined );

  console.log(c);   //NaN

  var   d   =   parseInt ([]);

  console.log(d);   //NaN

  var   e   =   parseInt ({});

  console.log(e);   //NaN

接下來,我們看第二個參數的用法

第二個參數:表示進制,范圍2~36(用來說明第一個參數的進制規則)

  var   a   =   parseInt ( 99 , 10 );   // 如果字符串為十進制內容,該參數可省略   console.log(a);   // 99  

  var   a   =   parseInt ( 1001 , 2 );   // ‘1001’ 符合二進制規則, 轉為十進制整數   console.log(a);   // 9

  var   a   =   parseInt ( 1001 , 10 );   // ‘1001’同樣符合十進制, 轉為十進制整數   console.log(a);   // 1001

  var   b   =   parseInt ( 234 , 2 );   //‘234’不符合二進制的規則   console.log(b);   // NaN

  var   b   =   parseInt ( abcde , 2 );   //‘abcde’不符合二進制的規則   console.log(b);   // NaN

  var   c   =   parseInt ( 1022 , 2 );   //‘10’部分屬于二進制,但‘22’不是,將開頭有效的部分提取并轉成十進制   console.log(c);   //2

一些特殊說明

如果以0x或0X開頭,即使不說明進制規則,也能識別

var   e   =   parrseInt( 0xa );   //0x是十六進制的表示方法,a是十六進制中的10,轉換成整數后自動切換為十進制 console.log(e);   //10

盡量不使用出現e的數字,由于只能識別開頭部分,會造成結果混亂 此時應使用parseFloat方法替代

parseInt ( "6.022e23" ,   10 );          // 返回 6 parseInt ( 6.022e2 ,   10 );            // 返回 602

非常大或非常小的數字

parseInt ( 4.7   *   1 e22,   10 );   // 非常大的數值變成 4 parseInt ( 0.00000000000434 ,   10 );   // 非常小的數值變成 4

在最新的ES5規范中,以0開頭的數字,已經不能再被識別為八進制了。

parseInt ( "011" );    //會當成10進制轉換為   11 parseInt ( "011" ,   8 )     //指定了8進制,結果為  9

總結:

以上測試均來自最新版的chrome瀏覽器,并不能確保所有瀏覽器行為一致。為了保證開發中不出現意外, 建議使用parseInt方法時,一律帶上第二個參數

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东乡族自治县| 名山县| 屯门区| 永修县| 武安市| 屏边| 沅江市| 淮滨县| 林西县| 东丰县| 仪陇县| 晋城| 荥阳市| 洞口县| 昭觉县| 涿州市| 南部县| 广元市| 阿克陶县| 庆安县| 池州市| 嘉鱼县| 渝北区| 郧西县| 南陵县| 五原县| 龙江县| 平顺县| 曲麻莱县| 石泉县| 即墨市| 交口县| 巴中市| 镇江市| 乐东| 沙洋县| 海晏县| 上犹县| 佛冈县| 高雄市| 扎赉特旗|