在下面的示例中,是通過for..in循環爲每次迭代創建的新變量'y'嗎?或者是變量聲明被提升到函數的頂部,並在每次迭代時重新使用?JavaScript函數級範圍
function example() {
var x;
for(x in obj) {
var y = obj[x];
}
}
感謝
在下面的示例中,是通過for..in循環爲每次迭代創建的新變量'y'嗎?或者是變量聲明被提升到函數的頂部,並在每次迭代時重新使用?JavaScript函數級範圍
function example() {
var x;
for(x in obj) {
var y = obj[x];
}
}
感謝
它的懸掛,因爲for循環對範圍沒有任何影響。
y是被替換的相同變量。做一個新的,你會用
function example() {
var x;
var y= new Array;
for(x in obj) {
y[x] = obj[x];
}
}
var obj = {
name: "Dan",
surname: "Tao"
};
var x;
for (x in obj) {
var y = obj[x];
}
alert(y);
一個警告框將與文本Tao
出現,表明y
是for
循環的範圍之外訪問。
我想,只是想確定一下。謝謝。 – Steve