我的IE9可以跟踪逗号,用户的IE9不是; 为什么?

Phr*_*ogz 11 javascript internet-explorer

我有一个带有JavaScript文件的Web应用程序,使用如下代码:

var foo = {a:'b',c:'d',e:'f',};
Run Code Online (Sandbox Code Playgroud)

在我的电脑上,IE9(9.0.8112.16421)正常工作; 在Chrome/FF/Safari上解析和执行JavaScript.另一个用户声称拥有相同版本的IE,但在开发人员工具控制台中出现此错误:

SCRIPT1028: Expected identifier, string or number 
blob.js?modified=1304026278, line 524 character 136
Run Code Online (Sandbox Code Playgroud)

列136是对象文字的尾随逗号/右括号.

我已经"修复"了代码,因此用户应该没有更多问题,但我想知道:
什么可以使两台不同计算机上的相同版本的IE以不同的方式处理JavaScript?

dur*_*uri 23

其中一个原因可能是用户按下了"兼容性视图"按钮.尾随逗号导致IE7文档模式中的语法错误.

  • "兼容性观点"是一种不应该存在的可怕的憎恶. (3认同)
  • 看起来文档模式也会对是否发生此错误产生一些影响.在IE9 Compat View的浏览器模式和IE9标准的文档模式中,我没有得到错误,但如果我将文档模式设置为Quirks或IE7标准,我会收到错误. (3认同)