Internet Explorer 11 JavaScript Let语句

4
我有一段较为复杂的代码,该代码使用“for”循环依次执行多个AJAX调用。当我将作用域分配给循环索引时,这段代码可以正常工作,但是使用“let”语句会在Internet Explorer 11中出现“预期';'”错误,而在其他浏览器中却可以正常运行。我已尝试将“let”移出循环,但仍然失败,似乎在使用该语句的任何位置都会失败,而不仅仅是在循环中。请告诉我如何解决这个问题,因为IE 11应该兼容“let”语句。

你确定你的页面没有在兼容模式下运行吗? - Pointy
1
IE11 知道 let,但它的工作方式类似于 var - Teemu
在此阅读注释5:https://caniuse.com/#feat=let - Randy Casburn
1个回答

7
请查看这个ES6支持表。Internet Explorer 11不支持letfor/for-in循环迭代范围内。 你需要采取一种不同的方法。 这个答案列出了您可以手动实现的多种选项。
您还可以使用类似Babel的工具将您的ES6或更高版本JavaScript转译成ES5。

let 在 IE 11 上部分支持,其中它没有块级作用域。 - Adesh M
@AdeshM — 所以呢?我从未声称过其他(在这个答案的第一段非常明确),问题中使用的整个重点是它是块级作用域。 - Quentin
如果在IE11的for循环构造函数中使用let,会发生什么?它只是被转换为var,还是会导致错误? - Kyle Vassella

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接