IE处理JS数组的一些问题

1. JS 定义数组的标准写法是:

var a = [1,2,3];

而有的时候当我们不小心修改数组,拷贝粘贴过程过程中会多出逗号','如下:

var a = [1,2,3,];

或var a = [1,2,,3];

 

经过实验发现这种写法在各个浏览器的处理方式不相同:

(1)火狐和Chrome直接忽略逗号;

(2)IE10也直接忽略逗号;

(3)IE10以下版本处理的时候在逗号处填充undefined元素:即在IE10以下的浏览器的时候,相当于变成下面形式:

 [1,2,3,undefined]或 [1,2,undefined,3]

 

(4)因此在IE10下数组a的长度,即a.length=3; 而在IE9下a.length=4;

posted @ 2014-12-25 17:06  超级无敌菜鸟  阅读(677)  评论(0编辑  收藏  举报