Javascript數組數值索引和字符串索引

一 結論
       Javascript數組索引值的範圍爲0到2的32次方。
  對於任意給定的數字下標值,如果不在此範圍內,js會將它轉換爲一個字符串,並將該下標對應的值作爲該數組對象的一個屬性值而不是數組元素,
       例如array[-1] = "yes" 其實就相當於給array對象添加了一個名爲-1的屬性,屬性值爲yes。
  如果該下標值在合法範圍內,則無論該下標值是數字還是數字字符串,都一律會被轉化爲數字使用,即 array["100"] = 0 和 array[100] = 0 執行的是相同的操作。


二 字符串索引
        當我們試圖爲一個js數組添加字符串下標的時候,其實就相當於爲該數組對象添加了一個屬性,屬性名稱就是我們所謂的“字符串下標”。
        由於爲數組對象添加屬性不會影響到同爲該對象屬性的length的值,因此該數組的length一直等於零。

[JavaScript] 純文本查看 複製代碼
1
2
3
4
5
6
var array = [];
    array["a"] = "hello";
    array["b"] = "world";
    array["c"] = "yes";
    console.log(array);
    console.log("length: " + array.length);//0




三 數值索引
        當我們試圖爲一個js數組添加數值下標或者數字字符串下標的時候,效果一樣都會影響數組的length。

[JavaScript] 純文本查看 複製代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
//添加數值下標
    var array = [];
    array["a"] = "hello";
    array["b"] = "world";
    array["c"] = "yes";
    array[100] = 100;
    console.log(array);
    console.log("length: " + array.length);//101
    //添加字符串數字下標
    var array = [];
    array["a"] = "hello";
    array["b"] = "world";
    array["c"] = "yes";
    array['100'] = 100;
    console.log(array);
    console.log("length: " + array.length);//101
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章