资讯专栏INFORMATION COLUMN

闭包--闭包之tab栏切换(四)

brianway / 1378人阅读

摘要:实际效果新闻视频音乐新闻内容视频内容音乐内容循环后,直接调用事件打开页面后,直接运行循环打印出然后执行所以之前再次点击栏给新增一个点击第一个的时候闭包利用闭包的保存作用闭包更优雅利用闭包的保存作用块级作用域

实际效果





    
    
    
    Document
    



    
  • 新闻
  • 视频
  • 音乐
新闻内容
视频内容
音乐内容
for循环后,直接调用事件
        for(var i=0;i

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

再次点击tab栏

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/108569.html

相关文章

  • JS三部曲,变量提升,this与作用域,闭包

    摘要:这篇文章总结下之前看的文章和自己在工作中遇到的坑,纯手写的,有什么写的不对的请多多提出修正哈变量提升何为变量提升里面的变量在声明之前就可以使用,因为该声明已经被提升至该作用域函数或全局的顶部直接上代码和都会变量提升优先级上面可理解为函数这时 这篇文章总结下之前看的文章和自己在工作中遇到的坑,纯手写的,有什么写的不对的请多多提出修正哈 变量提升 何为变量提升?js里面的变量在声明之前就可...

    dongxiawu 评论0 收藏0
  • 【闯关模式】作用域、链和闭包

    摘要:前言上篇闯关模式作用域链和闭包中任务四闭包闭包在中是很重要的概念,他们让出色地完成异步任务。所以说,作用域,作用域链,闭包,垃圾回收机制,他们都是息息相关的你的任务你需要用的来检验垃圾回收机制的运行。 前言 上篇 【闯关模式】作用域、链和闭包 中 任务四 闭包(Closures) 闭包在JS中是很重要的概念,他们让JS出色地完成异步任务。 为了能更好的理解闭包,我们先来看作用域链的例子...

    firim 评论0 收藏0
  • 一个简单的选项卡js插件

    摘要:今天写一个简单的选项卡插件,这个我也是看别人博文学习实现的,然后加一些自己的理解。一实现效果虽说有点简陋,但是可以看到在文件中,引入我们写的插件后,实现选项卡切换,就只需一行代码就可以实现了。 估计大概两三个月没有这类的关于前端的文章了,一来是觉得自己太菜,二来也是因为自己的懒散,浑浑噩噩的消耗时间却没有收获什么成果。今天因为和一些同学的聊天,突然自己的心情很低落,有一种看不到未来在哪...

    WelliJhon 评论0 收藏0
  • 一个简单的选项卡js插件

    摘要:今天写一个简单的选项卡插件,这个我也是看别人博文学习实现的,然后加一些自己的理解。一实现效果虽说有点简陋,但是可以看到在文件中,引入我们写的插件后,实现选项卡切换,就只需一行代码就可以实现了。 估计大概两三个月没有这类的关于前端的文章了,一来是觉得自己太菜,二来也是因为自己的懒散,浑浑噩噩的消耗时间却没有收获什么成果。今天因为和一些同学的聊天,突然自己的心情很低落,有一种看不到未来在哪...

    funnyZhang 评论0 收藏0

发表评论

0条评论

brianway

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<