var p = {name:"Jack",age:33,};
1.firefox下测试,引擎会忽略33后的逗号,可以通过语法检查,在执行期也不会报错
2.IE6/7下测试,语法分析期就报错了,当然也不会进入执行期了
3.不过在IE8下已经修复此问题,不会报错了。其它浏览器也不会报错
var ary = [1,2,];1.IE6/7/8
输出length为3,IE9及其它浏览器为2。ECMAScript 5 11.1.4 其中有段说明了应该忽略最后的逗号。但直到IE9才实现该规范。其它浏览器则没问题
有人曾经利用了数组的这个特性创造出了所谓《全世界最短的IE判断》
var ie = !-[1,];但在IE9下被终止了。不要利用这个Bug去判断浏览器。
探讨了在不同浏览器中对于对象和数组定义时末尾多余的逗号的处理方式,揭示了IE与其他现代浏览器在此方面的差异,并提到了利用此特性进行浏览器判断的方法。

被折叠的 条评论
为什么被折叠?



