我在谷歌的幫助下做了一個關閉函數。該功能正常工作。但是,我不確定知道它是如何工作的。試圖理解一個關閉函數
function ShowQuestion(i) {
console.log(i); // here 1 to 10 are logged immediately.
return function() {
console.log(i); // here the number are only logged when I mouse over on any li.
}
}
setTimeout(function() {
for (i = 0; i < document.getElementById('Previousli').getElementsByTagName('ul')[0].children.length; i++) {
document.getElementById('Previousli').getElementsByTagName('ul')[0].children[i].onmouseover = ShowQuestion(i);
}
}, 10000);
首先,我想知道爲什麼第一次執行console.log(i)該10秒出後,立即登錄1〜10,但第二次的console.log(一)登錄的「指數」只有當我把鼠標放在裏面時
啊我的眼睛現在是開放的。 謝謝先生! 基本上,ShowQuestion函數在超時後立即運行10次,然後再次運行? 循環是否創建了10個不同的鼠標懸停事件,每個元素都有一個? – IssacNolan
@IssacNolan:就是這樣。 :-) –
好的!謝謝 ! – IssacNolan