【发布时间】:2016-08-20 19:26:46
【问题描述】:
我有 1 行代码使我在 Explorer 11 中的整个 JavaScript 文件崩溃,但在 google chrome 49.0.2623 中运行良好。 我通过 AJAX 使用以下代码“导出”javascript 对象。
在 Chrome 中:
function AjajPostComponentLists()
{
var myFileContent = new Uint8Array();
var aList1 = {FixedItems:1, List:["None", "Relay #1", "Relay #2"]};
var aList2 = {FixedItems:1, List:["None", "Input #1", "Input #2", "Input #3", "Input #4", "Input #5"]};
var aList3 = {FixedItems:1, List:["None", "Door #1", "Door #2"]};
// ... (I won't list them all)
myFileContent = JSON.stringify({aList1, aList2, aList3});
// ...
}
结果将如下所示:
{"aList1":{"FixedItems":1,"List":["None","Relay #1","Relay #2"]},"aList2":{"FixedItems":1,"List":["None","Input #1","Input #2","Input #3","Input #4","Input #5"]},"aList3":{"FixedItems":1,"List":["None","Door #1","Door #2"]}}
Explorer 11 抱怨:
SCRIPT1003: ':'attendu(期待中,我的 explorer 是法语)
无论如何,错误是指显然不相关的三元运算符。
我试图用方括号代替花括号,它“通过”了,除非我在过程中松了很多(例如对象名称)。
知道为什么这在 Chrome 上会正常运行,但在 IE 上不行吗?
谢谢
【问题讨论】:
-
Expected ':'。 IE11 不支持 ES6 -
IE 不支持对象字面量中的shorthands,由 ES6 添加。您需要为每个值提供一个键 ––
{ aList1: aList1, aList2: aList2, ... }。
标签: javascript json google-chrome internet-explorer ecmascript-6