1、和其他强类型语言不同,JS中数组可以容纳任何类型的值
var a = [1, '2', [3]]
2、数组声明后,不需要预先设定大小
var a = []; a.length; // 0; a[0] = 1; a[1] = '2'; a.length; // 2
3、delete 运算符可以将单元从数组中删除,但单元删除后,数组的长度不会发生变化
4、稀疏数组:含有空白或者空缺单元的数组
var a = []; a[0] = 1; a[2] = [3]; a[1]; // undefined a.length; // 3
a[1] 的值为 undefined,但这予将其显示赋值为 undefined 还是有区别的
5、数组也是对象,可以包含键值对属性,但这些不计算在数组长度内
var a = []; a[0] = 1; a['foobar'] = 2; a.length; // 1
但在数组中加入键值对属性并不是一个好主意,建议使用对象来存放键值属性,用数组来存放数字索引值
6、能够强制类型转换为十进制数字的话,就会被当作数字索引来处理
var a = []; a['13'] = 42; a.length; // 14