Document
- 名字
- 年龄
- 大小
111222333
要点:回调函数不允许出现for循环的i,因为js只有函数级作用域。
解决方案: 以下代码块内容替代上面js中的for循环
- 保存变量i,保存在每个li的属性中。
for(i = 0;i< lists.length;i++){ lists[i].index = i; lists[i].onmouseover = function(){ console.log(this.index); this.style.backgroundColor = 'grey' for(var j=0;j
- 闭包,保存住变量i
for(i = 0;i< lists.length;i++){ (function(i){ lists[i].onmouseover = function(){ console.log(i); this.style.backgroundColor = 'grey' for(var j=0;j
-
let 创建块级作用域 ,
for(let i = 0;i< lists.length;i++){ lists[i].onmouseover = function(){ console.log(i); this.style.backgroundColor = 'grey' for(var j=0;j