声明 JavaScript 数组时“{}”和“[]”有什么区别?
通常我声明像
var a=[];
将数组声明为的含义是什么var a={}
似乎没有人解释数组和对象之间的区别。
[]
正在声明一个数组。
{}
正在声明一个对象。
数组具有对象的所有功能以及附加功能(您可以将数组视为对象的子类),其中在 Array 子类中添加了附加方法和功能。实际上,typeof [] === "object"
进一步向您展示数组是一个对象。
附加功能包括一个神奇的.length
属性,用于跟踪数组中的项目数以及对数组进行操作的一系列方法,例如.push()
, .pop()
, .slice()
, .splice()
等等...您可以看到数组方法列表here.
对象使您能够将属性名称与值关联起来,如下所示:
var x = {};
x.foo = 3;
x["whatever"] = 10;
console.log(x.foo); // shows 3
console.log(x.whatever); // shows 10
对象属性可以通过以下方式访问x.foo
语法或通过类似数组的语法x["foo"]
。后一种语法的优点是您可以使用变量作为属性名称,例如x[myvar]
使用后一种语法,您可以使用包含 Javascript 不允许的字符的属性名称x.foo
syntax.
属性名称可以是任何字符串值。
数组是一个对象,因此它具有对象的所有相同功能以及用于管理数组的一系列附加功能。ordered, 顺序的从以下位置开始的编号索引列表0
并达到一定的长度。数组通常用于通过数字索引访问的有序项目列表。而且,由于数组是有序的,因此有很多有用的功能来管理列表的顺序.sort()
或从列表中添加或删除内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)