0
我有一個奇怪的行爲與一個for-in循環。for循環奇怪的行爲
代碼:
var obj = {
q:1,
w:2,
e:4,
r:5
};
function test(data) {
for (key in data) {
//do sth;
}
}
!function() {
for (key in obj) {
console.log(key);
test({a:1,b:2,c:3});
console.log(key);
}
}();
如我所料,輸出應爲某事像這樣:
qqwweerr
,但我得到這個:
qcwcecrc
我找不到th這種行爲背後的邏輯! 關鍵變量的範圍是詞法! 我的代碼有什麼問題?
記得'let'或'在水平var'任何標識,你希望他們 –