我在谷歌的帮助下做了一个关闭函数。该功能正常工作。但是,我不确定知道它是如何工作的。试图理解一个关闭函数
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