闭包的理解

//闭包的概念就是函数嵌套函数  内部函数可以调用外部函数的参数和变量 并且变量贮存在内存中 不会被垃圾回收机制销毁
//可以手动销毁
//例如:
//简单写法
function outer(){ var num=0; function inner(){ num++; return num; }
return inner; } var num=outer(); alert(num());//1 alert(num());//2 alert(num());//3 num=null;//手动销毁

//用法
1.模块化代码
2.在循环中直接找到对应元素的索引

 

1. var test=(function(){

          function init(){alert("游戏加载成功!");}

          function start(){alert("开始游戏!");}

          return {

                  init:init,

                  start:start              

              };

 

      })();

 

    test.init();

    test.start();


<ul id="test">

         <li>1</li>

         <li>2</li>

         <li>3</li>

         <li>4</li>

     </ul>

   var getUL=document.getElementById("test");

   var allLi=getUI.children;

   var len=allLi.length;

for(var i=0;i<len;i++){

(function(n){

allLi[n].onclick=function()

{console.log(n);}

 

 

})(i)

 

}

posted on 2018-09-20 17:18  蕾蕾小怪  阅读(99)  评论(0)    收藏  举报