Internet Explorer Javascript语法错误

Internet Explorer Javascript语法错误,javascript,google-chrome,internet-explorer,firefox,browser,Javascript,Google Chrome,Internet Explorer,Firefox,Browser,我在网站上工作时遇到了预先存在的javascript语法错误 我在一个页面中发现了一个类似这样的JSON对象 var obj = { prop1: 1, prop2: 2, prop3: 3,}; 显然,错误是对象属性定义中的最后一个逗号 当我调试代码时,Chrome、Opera、Firefox或IE并没有报告任何错误。 所有javascript代码都可以正常工作 该错误仅在网站用户的同一IE浏览器中生成 有没有办法将浏览器设置为显示这样的错误?对象初始值设定项中的尾随逗号对IE11来说应该不

我在网站上工作时遇到了预先存在的javascript语法错误

我在一个页面中发现了一个类似这样的JSON对象

var obj = { prop1: 1, prop2: 2, prop3: 3,};
显然,错误是对象属性定义中的最后一个逗号

当我调试代码时,Chrome、Opera、Firefox或IE并没有报告任何错误。 所有javascript代码都可以正常工作

该错误仅在网站用户的同一IE浏览器中生成


有没有办法将浏览器设置为显示这样的错误?

对象初始值设定项中的尾随逗号对IE11来说应该不是问题,它在IE9以后的版本中是有效的。IE11可能在错误命名的“兼容模式”下运行您的页面,使其与IE8的破损JavaScript“兼容”。我建议研究如何确保IE11不会步履蹒跚(例如,将
包含在
标题中,诸如此类)

有没有办法将浏览器设置为显示这样的错误

var obj = { prop1: 1, prop2: 2, prop3: 3,};
不是。对象初始值设定项中的尾随逗号在2009年成为有效的JavaScript(尽管该链接指向2011年5.1更新)(有些人甚至在更早的时候声称它是有效的),这是在现代浏览器中实现的


您可能会找到并配置一个linter(比如)来为您标记类似的内容。(刚刚选中,而且ESLint确实有一个可以用来禁止[或要求!]在对象初始值设定项中挂起逗号的选项。)或者如果您愿意,你可以用现代JavaScript编写代码,并使用类似工具将其传输到IE11等旧浏览器。

你是说
使用strict
?@TerryWei-strict模式与此无关。我记得尾随逗号在IE9中是“合法化”的,可能是“相同的IE浏览器”使用降级的文档模式运行页面..?@T.J.Crowder谢谢@Teemu-没错,我刚刚在IE9上以标准(而不是“兼容性”)模式对它进行了测试,它很高兴在对象初始值设定项中有一个尾随逗号。IE9+在数组初始值设定项中也正确地使用了尾随逗号(IE8没有,但您可能知道这一点)。