显然,IE9中的JS实现包含处理数组文字的(IMO,严重)错误.
在IE9中,在某些情况下这段代码:
var a = [1,2,3,4,];
Run Code Online (Sandbox Code Playgroud)
将创建长度为5的数组,最后一个元素等于undefined.
以下是我的KiTE引擎测试页面的两个版本:
唯一的区别是第一个文档包含初始化为data.contacts的属性[1,2,3,4],第二个文档包含[1,2,3,4,].
内部IE调试器报告该data.contacts数组在第二种情况下包含5个元素.没有调试器,此代码在kite.js中的第98行失败(尝试获取undefined该data.content数组的第五个元素的属性)
问题:
更新:这里是测试http://jsfiddle.net/hmAms/,其中所有浏览器(包括IE9)都同意var a = [1,2,3,4,];长度为4 的事实.
在Chrome 21中,[,]输入控制台输出
[undefined x 1]
并提供[undefined]输出
[未定义]
[undefined]和之间有什么区别[undefined x 1]?
符号是什么[undefined x 1]?