博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
闭包--闭包之tab栏切换(四)
阅读量:7231 次
发布时间:2019-06-29

本文共 1325 字,大约阅读时间需要 4 分钟。

实际效果

clipboard.png

    
Document
  • 新闻
  • 视频
  • 音乐
新闻内容
视频内容
音乐内容

for循环后,直接调用事件

for(var i=0;i

打开页面后,直接运行for循环,打印出0,1,2,然后执行i++,所以oList[i].onclick之前i=3;

clipboard.png
再次点击tab栏

clipboard.png

给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)            }        }

点击第一个的时候

clipboard.png

闭包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)                }        }

转载地址:http://zucfm.baihongyu.com/

你可能感兴趣的文章
设置python的默认编码为utf8
查看>>
简易sqlhelper-java
查看>>
通过案例对SparkStreaming 透彻理解三板斧之一:解密SparkStreaming运行机制
查看>>
HBuilder 学习笔记
查看>>
利用OpenStreetMap(OSM)数据搭建一个地图服务
查看>>
TopN算法与排行榜
查看>>
lucene排序算法之向量空间模型(一)
查看>>
新浪微博数据Json格式解析
查看>>
WLAN 802.11 wifl区别
查看>>
oracle授权动态视图权限给用户
查看>>
Debian – 出现-bash: pip: command not found错误解决办法
查看>>
Zxing扫描二维码
查看>>
我的友情链接
查看>>
aspcms后台拿shell漏洞(非添加模块)及修复方法
查看>>
C语言冒泡排序法
查看>>
B2B行业门户网站群发邮件时间及发送频率
查看>>
关于虚拟机能ping通物理机,而物理机ping不通虚拟机问题解决。
查看>>
同台机器启动多个mysql
查看>>
iframe 跨域高度自适应
查看>>
struts2+hibernate3+spring3(ssh2)框架下的web应用
查看>>