DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JS中parseInt()和map()用法分析
JS中parseInt()和map()用法分析
編輯:關於JavaScript     

本文實例講述了JS中parseInt()和map()用法。分享給大家供大家參考,具體如下:

parseInt()的幾個例子

var b = parseInt("01");
alert("b="+b);
var c = parseInt("09/08/2009");
alert("c="+c);

結果:b=1,c=0

parseInt()用來解析字符串,返回整數,有幾個特點:

1.無視被解析字符串最前和最後的空格,即:" 111 "和"111"是一樣的

2.正規格式是parseInt(string,radix)。

第一個參數是被解析的字符串,第二個參數是進制(可不些)

第二個參數的特點:

①如果radix省略或為0,則按默認進制(十進制)進行解析

②radix為2~36之間的整數,如果在這個范圍之外,返回NaN

③string的首字符為0,則默認解析為8進制。string首字符為0x(0X)則默認解析為16進制。其他情況默認為10進制。

④最好加上第二個參數,不然即使碰到首字符為0,應該以8進制方式進行,在某些浏覽器下,如ff也會按10進制進行

3.解析從第一個可以解析的字符開始,到第一個不能解析的字符(如空格,標點符號等)結束。後面的字符不再解析。如果第一個字符就不可以解析,則返回NaN。

回到此題來分析

b的首字母是0,按8進制解析後面的數值,也就是8進制的1。自然返回值為1。<br>c的首字母是0,按8進制解析後面的數值,但是第二個字符9已經不是8進制數,也就是9是第一個不能解析的字符,parseInt("09/08/2009")相當於parseInt("0"),自然返回值是0<br>注:8也不是8進制數,最大到7

變形:

var c = parseInt("0119/08/2009");
alert("c="+c);

分析:

相當於parseInt("011"),0*8^2+1*8^1+1*8^0=0+8+1=9,輸出結果為c=9
parseFloat()和parseInt()

parseInt()可以帶參數,指定二進制、八進制或者十六進制(默認十進制),而parseFloat()不帶參數,不能解析八進制、十六進制數,就只能按十進制進行。

再來看parseInt()和.map()結合的例子

["1", "2", "3"].map(parseInt) 返回值又是多少呢

map方法

array1.map(callbackfn[, thisArg])

對數組的每個元素,調用定義的回調函數,返回一個數組包含結果

參數:

array1 必須。一個數組對象 callbackfn 必須。最多接受三個參數(數組元素的值,數組元素的索引,包含該元素的數組對象)的回調函數 thisArg 可選。

即原例子相當於

[parseInt("1",0),parseInt("2",1),parseInt("3",2)]

分析:

1按十進制轉換輸出1
1不在2~36之間,輸出NaN
字符串”3“裡面沒有合法的二進制數,輸出NaN
所以最後結果是[1,NaN,NaN]

更多關於JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript數組操作技巧總結》、《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調試技巧總結》

希望本文所述對大家JavaScript程序設計有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved