网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 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 规范第五版中的规则。
    解决方案
    数组直接量的最后不要出现 ',',以保证兼容各浏览器。
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/15 8:10:56