Javascript 我的IE9可以使用尾随逗号user';IE9不是;为什么?

Javascript 我的IE9可以使用尾随逗号user';IE9不是;为什么?,javascript,internet-explorer,Javascript,Internet Explorer,我有一个带有JavaScript文件的web应用程序,其代码如下: var foo = {a:'b',c:'d',e:'f',}; 在我的电脑上,IE9(9.0.8112.16421)工作正常;JavaScript的解析和执行与在Chrome/FF/Safari上一样。另一个用户声称拥有相同版本的IE,但在开发人员工具控制台中出现以下错误: SCRIPT1028:预期的标识符、字符串或数字 js?修改=1304026278,第524行,字符136 第136列是对象文字的尾随逗号/右大括号 我

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

var foo = {a:'b',c:'d',e:'f',};
在我的电脑上,IE9(9.0.8112.16421)工作正常;JavaScript的解析和执行与在Chrome/FF/Safari上一样。另一个用户声称拥有相同版本的IE,但在开发人员工具控制台中出现以下错误:

SCRIPT1028:预期的标识符、字符串或数字
js?修改=1304026278,第524行,字符136
第136列是对象文字的尾随逗号/右大括号

我已经“修复”了代码,这样用户就不会再有问题了,但我想知道:

是什么让两台不同计算机上相同版本的IE对JavaScript的处理方式不同呢?

很可能是因为浏览器设置抑制了浏览器上的错误

原因之一可能是用户按下了“兼容性视图”按钮。尾随逗号在IE7文档模式下会导致语法错误。

否,我打开了开发者工具控制台,没有出现此类错误;此外,页面的功能在我的机器上是正确的,而用户的机器无法执行文件中的JavaScript。检查工具->互联网选项->高级。在“浏览”下,确保选中“显示关于每个脚本错误的通知”,同时确保未选中“禁用脚本调试”(两个版本)@Tom我没有否决你的意见,但我认为错误消息不会被抑制,因为@Phrogz写了“JavaScript已解析并执行”。@Tom duri是正确的;我投了反对票,因为我(认为我)清楚地表明,这两台计算机之间存在着功能上的差异,而不仅仅是隐藏错误。这很公平。虽然有一些解释会很好,“兼容性视图”是一个可怕的讨厌的东西,不应该存在。看起来文档模式对是否发生此错误也有一些影响。在IE9 Compat视图的浏览器模式和IE9标准的文档模式下,我没有得到错误,但是如果我将文档模式设置为Quirks或IE7标准,我会得到错误。谢谢;我不知道文档模式会以任何方式影响JS行为,更不用说解析了!作为旁注,当您在数组(例如a、b、c)中放置尾随逗号时,该数组包含4个而不是3个项目,第4个项目为“未定义”。避免拖尾逗号的另一个原因。(一些浏览器会说有3个,并假设后面的逗号是人为错误)