当然,代码只会完成您的工作。setTimeout在“for循环”中无法正常工作
但我很困惑,为什么下面的代码:
var a = {
0: "Hi",
1: "Bye"
}
for (var b in a) {
setTimeout(function() {
console.log(b);
}, 1000);
}
而不是安慰 “0”,然后选择 “1”
我只是得到 “1” 的两倍。
我不知道为什么发生这种情况。我需要一个类似于我正在制作的脚本的设置,但我也遇到了同样的问题。
更多类似'的setTimeout(console.log.bind(控制台,B)' – Musa
@Musa,'console.log.bind(NULL,B)'在这种情况下也可以。 'console.log'不需要自己的上下文来工作。 – naomik
所以你没有得到'非法调用'? – Musa