Mozilla可能让vs var Bug

时间:2017-01-16 13:42:29

标签: firefox ecmascript-6 let for-of-loop

请考虑以下JavaScript代码:

let funcs = []
for(let x of [1,2,3]) {
    funcs[x] = function(){
        console.log("test:", x)
    }
}

funcs[1]()
funcs[2]()
funcs[3]()

当我在Google Chrome V55.0中运行此代码时,它会生成

的预期输出
test: 1
test: 2
test: 3

在浏览器控制台中。但是,如果我在Firefox V50.1.0中运行相同的代码,我会得到以下控制台输出:

test: 3
test: 3
test: 3

链接here(大约三分之一的“Block Scope with Let”)表明Chrome控制台输出是正确的,但我想在两个浏览器中使用相同的代码。有人可以指出我是否在某个地方犯了错误吗?

0 个答案:

没有答案