首页 > Web开发 > 详细

js闭包;递归

时间:2019-06-12 22:41:45      阅读:134      评论:0      收藏:0      [点我收藏+]

一.js闭包

闭包定义:当内部函数被保存到外面的时候,就会形成闭包

缺点:闭包会导致原有的作用域链不释放,造成内存的泄漏

(在函数执行前的一瞬间会生成自己的AO,这就是函数执行了2次,生成了两次AO,这两次AO是没有任何关联的

优点:(1).实现共有变量

      (2).做缓存

      (3).实现封装让属性私有化

      (4).模块化开发,防止污染全局变量

闭包实例:

html:

 

<ul>
        <li>0</li>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
    </ul>

 

js:

 

<script>
        var lis = document.getElementsByTagName("li");

        for(var i = 0;i < lis.length;i++){
            // console.log(lis[i]);
            // lis[i].onclick = function(){
            //     console.log(i);//bibao
            // }
            (function(i){
                lis[i].onclick = function(){
                    console.log(i);
                }
            })(i)//匿名函数
        }

        /*GO = {
            lis : object
            i : 10
        }
        ni.ao = {
            i : 0
        }

        click.ao = {

        }*/
</script>

 

js闭包;递归

原文:https://www.cnblogs.com/lyx1014/p/11012744.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!