闭包问题到现在还没有搞清楚,但是有代码来解决这个问题。
错误案例:
for(var i=0;i<6;i++){
li[i].onmouseover=function(){
li[i].style.backgroundColor="aliceblue";
}
}
这串代码似乎很合清理,逻辑上没有任何问题,但在js console 里会报错!
解决方案:
function test() {
var i = 0;
for (; i < 3; i++) {
(function (i) {
nav[i].onmouseover = function () {
nav[i].style.backgroundColor = "blue";
}
})(i);
}
}
test();
这是一个闭包问题,我会在接下来的博客中整理!据说JS闭包很重要。