首页 > 解决方案 > function animate({ draw1, duration1 }) {... 导致 IE11 中的预期标识符 (script1010) 错误 - IE 中的对象解构支持

问题描述

我在 IE11 中页面无法正确显示的网站构建中遇到问题。该站点在 chrome、firefox 和 edge 中正确显示。

该错误似乎破坏了错误文件中的所有javascript。该文件负责处理部分布局,因此当它失败时会导致页面上的各个部分无法正确呈现。

错误消息是“ Script1010 ”并指向以下代码行:

function animate({ draw, duration }) {
...
}

我无法确定为什么 IE 无法处理这一行。我见过的最接近答案的是以下帖子,它暗示“draw”或“duration”可能是 IE 中的保留字。但是更改它们会导致发生相同的错误。

有什么建议或指示吗?

编辑:感谢您的回复。想我会澄清这个问题作为类似搜索的脚注,甚至只是为了我自己。正如下面所指出的,问题归结为“IE 是否支持 ES6 对象解构?”。原来对象解构在 IE 中不起作用。

标签: javascriptinternet-explorer-11

解决方案


您正在使用 ES6 来解构参数。Internet Explorer 不支持 ES6。

您要么必须使用 ES5 重写它,要么使用像Babel这样的转译器将您的代码转译成 ES5。

编辑:如果这是 ES6 的唯一出现,我建议重写它,否则我会使用 Babel。

function animate(arg) {
  var draw = arg.draw
  var duration = arg.duration
  ...
}

推荐阅读