let循环中的语句在IE中无法正常工作 [英] let statement in loop doesn't work as expected in IE

查看:1244
本文介绍了let循环中的语句在IE中无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在ECMAScript 6中尝试了一些示例。与其他浏览器相比,它的工作方式不同。这会在Firefox中返回 true ,但它会在IE中返回 false 。为什么这在Internet Explorer中有所不同?

I am trying some example in ECMAScript 6. That is working differently compared to other browsers. This returns true in Firefox, but it returns false in IE. Why is this working different in Internet Explorer?

let callbacks = []
for (let i = 0; i <= 2; i++) {
  callbacks[i] = function () { console.log(i); return i * 2 }
}
console.log(callbacks[0]() === 0);
console.log(callbacks[1]() === 2);
console.log(callbacks[2]() === 4);


推荐答案

根据 caniuse.com IE11支持


变量不分别绑定到 for 循环的每次迭代

let variables are not bound separately to each iteration of for loops

这篇关于let循环中的语句在IE中无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆