所谓“关联数组”指以名字作为下标的数组,比如:
var a = [];
a['key'] = 'value';
其实javascript中根本就没有“关联数组”,javascript的数组只能以数字作为下标,以名字作为下标访问的叫作对象:
如果你需要用到名字作为下标即key-value的结构,你应该使用对象而不能使用数组:
var a = {};
a['key'] = 'value'
数组究其本章就是一个列表,只会通过数字下标来访问,如果你需要用到以名字为下标的访问,那么从一开始你就应该使用对象来定义变量
var a = {}
如果将这两者混用,只会给自己找麻烦:
var a = [];
a[0] = 'x';
a[1] = 'y';
a['p'] = 'q';
console.info(a.length); ///<试试这是多少?
console.info(JSON.stringify(a)) ///<这又是什么?