学习js一段时间,一度搞不清楚“数组”和对象的根本区别。二者都可以用来表示数据的集合。
比如说一个数组是a=【1,2,3,4】,一个对象是a={0:1,1:2,2:3,3:4}
输出alert(a[1]),二者的输出结果相同。花了一点时间整理了我对对象和数组的理解。
区别一:
数组是有序数据的集合,而对象是无序数据的集合。
区别二:
数组的数据没有名称,只有下标,而对象的数据需要指定名称。
学过其他语言的人可能会提出“关联数组“是可以有名称的。
比如在js中,可以这样定义一个关联数组:
a【“城市”】= “北京”;
a【“面积”】= “168561”
a【“入口”】= “14455”;
很明显,关联数组的数值是有名称的,但是,在js中关联数组被认为是一个对象,而不是数组。
这和其他语言不一样比如php中关联数组是一个数组。