IE6 IE7 IE8 不会忽略数组直接量的末尾空元素
来源:188金宝搏地址 阅读:1144 次 日期:2015-04-22 10:34:10
温馨提示:188金宝搏地址 小编为您整理了“IE6 IE7 IE8 不会忽略数组直接量的末尾空元素”,方便广大网友查阅!

标准参考

ECMAScript 规范第三版 11.1.4 Array Initialiser 中规定,在以直接量定义数组元素时,在开始、中间和末尾都可以忽略元素,被忽略的元素也会被放入数组中。即:

[,1,,3,].toString()==",1,,3,"

ECMAScript 规范第五版 11.1.4 Array Initialiser 中增加了一条规则,若上述被忽略的元素在数组末尾,则该忽略元素将不被放入数组中。即:

[,1,,3,].toString()==",1,,3"

问题描述

当数组直接量以 ',' 结尾时,IE 和非 IE 得到的数组对象的长度不一致。IE 会以 ECMAScript 规范第三版中规定的方式解析该数组。即该数组的长度将比其他浏览器多 1。

造成的影响

该问题将造成 IE 和非 IE 得到的数组长度不一致。

受影响的浏览器

IE6 IE7 IE8

问题分析

分析以下代码:

alert([1,2,3,].length);

以上代码在各浏览器中的运行结果如下:

IE 其他浏览器

4 3

可见:IE 没有忽略最后一个元素,这与 ECMAScript 规范第三版的规则相符,而其他浏览器则遵循 ECMAScript 规范第五版中的规则。

解决方案

数组直接量的最后不要出现 ',',以保证兼容各浏览器。

更多信息请查看IT技术专栏

更多信息请查看脚本栏目
188金宝搏地址 手机网站地址:IE6 IE7 IE8 不会忽略数组直接量的末尾空元素
由于各方面情况的不断调整与变化,188金宝搏地址 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 新媒体/短视频平台 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65099533/13759567129 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:1093837350(9:00—18:00)版权所有:188金宝搏地址
云南网警报警专用图标
Baidu
map