もちろん、コードはあなたがやらせたことだけを行います。
しかし、次のコードでなぜ混乱しています:
var a = {
0: "Hi",
1: "Bye"
}
for (var b in a) {
setTimeout(function () {
console.log(b);
}, 1000);
}
「0」と「1」を慰める代わりに
「1」を2回取得します。
なぜそうなるのかはわかりません。私が作成しているスクリプトにはそのような設定が必要ですが、同じ問題も発生します。