JavaScript 数组大括号与方括号

下列每个数组定义之间的区别是什么。

var myArray = [];
var myArray = {};
var myArray = new Array();
64519 次浏览

第一个和第三个是等价的,并创建一个新数组。第二个创建一个新的空对象,而不是一个数组。

var myArray = []; //create a new array
var myArray = {}; //creates **a new empty object**
var myArray = new Array(); //create a new array

var myObject = {};等价于变量 myObject = new Object();

所以,第二个例子不是 Array而是一般的 Object

这可能会让人感到困惑,因为 Array是一个类,而 Object是一个类——更确切地说,ArrayObject的一个子类。因此,总的来说,Object语义适用于 Array:

var o = [];
o.push('element1');
o.push('element2');
o['property1'] = 'property value';  // define a custom property.
console.log(o.property1);
console.log(o.length);  // Outputs '2' as we've only push()'ed two elements onto the Array