2016-05-04 46 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,你当然是对的。 –