现象:
定义如下Javascript数组对象:
var countryList = [
{ id:"AR",name:"Argentina" },{ id:"AU",name:"Australia" },
{ id:"AT",name:"Austria" },
];
//注意:数组最后一个对象后面有一个,逗号。
alert(countryList.length);
当使用IE浏览器时打印的数组长度为4,此时如果用如下代码去处理该数组的话会出现数组越界访问异常:
for(var i=0; i<countryList.length;i++){
alert(countryList[i].id);
}
作如下修改:
var countryList = [
{ id:"AR",name:"Argentina" },{ id:"AU",name:"Australia" },
{ id:"AT",name:"Austria" }
];
//注意:数组最后一个对象后面的,逗号去掉。
修改完之后在IE浏览器中打印数组个数为3,这时就可以正确访问该数组了。
注:其他浏览器Firefox 38,Chrome 43, Safari 5.1.7 不存在该问题。