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去判断浏览器。