美文网首页web挖坑之路
js找元素下标索引以及闭包的学习

js找元素下标索引以及闭包的学习

作者: 不知道取个什么昵称不如娶个媳妇 | 来源:发表于2018-09-25 11:08 被阅读4次
 <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
 </ul>
var li_s = document.querySelectorAll("li");

第一种方法:自定义属性

        for(var i = 0 ; i < li_s.length ; i ++){
            li_s[i].index = i;
            li_s[i].onclick = function(){
                console.log(this.index);
            }
        }

第二种方法:数组

        for(var j = 0 ; j < li_s.length ; j ++){
            
            li_s[j].onclick = function(){
                var index = Array.from(li_s).indexOf(this);
                console.log(index);
            }
        }

第三种方法:let

        for(let i = 0 ; i < li_s.length ; i++){
            li_s[i].onclick = function(){
                console.log(i);
            }
        }

第四种方法:闭包

        for (var i = 0; i < li_s.length; i++) {
            li_s[i].onclick = clk(i);
        }

        // 命名函数
        function clk(num) {
                return function(){
                         console.log(num);
                   }
        }

关于闭包的学习

个人觉得,所谓闭包问题就是变量缓存的问题。也就是当外部函数消亡之后,内部函数所应用到的外部函数变量还存在的问题。
而闭包,其实就是能够使得外部函数变量缓存的奇葩内部函数。

闭包=内部函数+变量缓存(外部函数变量缓存)

闭包概念

函数嵌套,在内嵌函数中使用到外部函数的局部变量(即内嵌函数功能的实现依赖于外部函数中的局部变量),外部函数中返回了对内嵌函数的引用(在外部函数调用结束后还可以去引用到内部函数),这种情况就是闭包。
作用:延长函数体内部局部变量的生命周期。
当在函数外部还希望能够继续调用函数内部局部变量时,可使用闭包。

相关文章

  • js找元素下标索引以及闭包的学习

    第一种方法:自定义属性 第二种方法:数组 第三种方法:let 第四种方法:闭包 关于闭包的学习 个人觉得,所谓闭包...

  • 循环

    闭包循环的索引值 1)通过标签获取元素 (2)do...while循环

  • php之闭包函数(Closure)

    php闭包函数(Closure) JS闭包 js和php闭包使用和区别

  • 简单的聊一下闭包

    js中的闭包 闭包是学习js中永远也绕不过去的一个坎,那么,今天我们就去一段简单的代码开始聊一聊闭包 什么是闭包 ...

  • 浅谈闭包

    js中的闭包 闭包是学习js中永远也绕不过去的一个坎,那么,今天我们就去一段简单的代码开始聊一聊闭包 什么是闭包 ...

  • JS闭包

    JS闭包 闭包练习

  • JavaScript闭包学习笔记

    @(JS技巧)[闭包] JavaScript闭包学习笔记 什么是闭包? 有些情况下,函数调用完成之后,其执行上下文...

  • 前端面试-自测

    JS有哪些手段可以实现继承? 说说JS的闭包? 用纯JS实现,点击一个列表时,输出对应的索引(不能用JQuery哦...

  • js经典题目

    1闭包 链接:学习Javascript闭包(Closure) setTimeout在js单线程中只是放在队列中并未...

  • JS闭包问题(二)

    在之前的JS闭包问题(一)文章中大概介绍了一下JS闭包,同时讲了闭包与变量之间的问题,今天我们继续聊闭包,聊聊闭包...

网友评论

    本文标题:js找元素下标索引以及闭包的学习

    本文链接:https://www.haomeiwen.com/subject/nhbkoftx.html