实际效果
Document
- 新闻
- 视频
- 音乐
新闻内容视频内容音乐内容
for循环后,直接调用事件
for(var i=0;i
打开页面后,直接运行for循环,打印出0,1,2,然后执行i++,所以oList[i].onclick之前i=3;
给oList[i],新增一个key:Index,
for (var i = 0; i < oList.length; i++) { oList[i].Index = i; oList[i].onclick = function() { console.log(i) //3 console.log(this.Index ) //0,1,2 changeTab(this.Index) } }
点击第一个的时候
闭包1
利用闭包的保存作用
for (var i = 0; i < oList.length; i++) { oList[i].onclick = (function(i) { return function(){ console.log(i) //0,1,2 changeTab(i) } })(i) }
闭包1,更优雅
利用闭包的保存作用
for (var i = 0; i < oList.length; i++) { (function(i){ oList[i].onclick = function(){ console.log(i) //0,1,2 changeTab(i) } })(i) }
es6
let块级作用域
for (let i = 0; i < oList.length; i++) { oList[i].onclick = function(){ console.log(i) //0,1,2 changeTab(i) } }