数组和对象的另一个区别是,数组中的数据没有"名称"(name),对象中的数据有"名称"(name)
很多编程语言中,都有一种叫做"关联数组"(associative array)的东西。这种数组中的数据是有名称的。
比如在javascript中,可以这样定义一个对象:
var a={"城市":"北京","面积":16800,"人口":1600};
但是,也可以定义成一个关联数组:
a["城市"]="北京";
a["面积"]=16800;
a["人口"]=1600;
在Javascript语言中,关联数组就是对象,对象就是关联数组。这一点与php语言完全不同,在php中,关联数组也是数组。
比如运行下面这段javascript:
var a=[1,2,3,4];
a['foo']='Hello World';
alert(a.length);
最后的结果是4,也就是说,数组a的元素个数是4个。