2016-05-04 44 views
-2

有什麼區別聲明數組:的Javascript:聲明數組

var tab={}; 

var tab=[]; 
+0

[陣列與在JavaScript對象效率]的可能的複製(http://stackoverflow.com/questions/17295056/array-vs-object-efficiency-in-javascript) – Kamal

回答

1

有一個很大的區別:

tab = {} // an empty object (or a blank object) 
tab = [] // an array (which is actually an object too) 

Object-Oriented JavaScript - Second Edition:什麼是數組?它只是一個值的列表(一個序列)。相反,使用一個變量來存儲一個值的 ,您可以使用一個數組 變量將任意數量的值存儲爲數組的元素。要聲明包含一個空數組變量,則使用方 括號什麼也沒有它們之間:

var a = [];

要定義有三個元素的數組,你這樣做:

var a = [1, 2, 3];

數組中包含的元素使用從零開始的連續 數字進行索引。第一個元素的索引(或位置)爲 0,第二個元素的索引爲1,依此類推。要訪問數組元素,可以在方括號內指定該元素的索引。因此,a[0]爲您提供了數組a的第一個元素,a[1]爲您提供了第二個元素,依此類推。

差異:

一個目的是類似於一個數組,但你 自己定義按鍵的差異。您不僅僅限於使用數字 索引,並且您可以使用友好的鍵,如first_name,age和 等。

var tab = { 
    name: 'Ninja' 
}; 
+2

陣列總是一個東西。 –

+0

@NinaScholz,你當然是對的。 –