码迷,mamicode.com
首页 > 其他好文 > 详细

闭包的相关问题

时间:2019-09-25 17:26:30      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:type   name   rip   htm   elements   doc   class   html   char   

1.闭包的概念:一个内部函数引用了外部函数的变量,外部函数形成了一个闭包。

function(){
var i=0
function(){
console.log(i)
}

2.案例

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>闭包</title>


</head>

<body>
    <ul>
        <li>第1个li</li>
        <li>第2个li</li>
        <li>第3个li</li>
        <li>第4个li</li>
        <li>第5个li</li>
        <li>第6个li</li>
    </ul>


    <!-- <script>
     var lis=document.getElementsByTagName(li);
     for(var i=0;i<lis.length;i++){
         lis[i].onclick=function(){
// onclick 绑定的函数, 传参数 关键字this 点击后直接获取本点击对象
             console.log(this.innerText)
         }
     }
     </script> -->

    <!-- 错误的代码,lis[i]为undefined -->
    <!-- <script>
          var lis=document.getElementsByTagName(li);
     for(var i=0;i<lis.length;i++){
         lis[i].onclick=function(){
             console.log(lis[i].innerText)
         }
     }
     </script> -->

    <!-- 用自调用函数包裹,形成了一个闭包 -->
    <script>
        var lis = document.getElementsByTagName(li);
        for (var i = 0; i < lis.length; i++) {
            (function (i) {
                lis[i].onclick = function () {
                    console.log(lis[i].innerText)
                }
            }(i))
        }
    </script>


</body>

</html>

 

闭包的相关问题

标签:type   name   rip   htm   elements   doc   class   html   char   

原文地址:https://www.cnblogs.com/zhaodz/p/11586075.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!