闭包的理解
//闭包的概念就是函数嵌套函数 内部函数可以调用外部函数的参数和变量 并且变量贮存在内存中 不会被垃圾回收机制销毁
//可以手动销毁
//例如:
//简单写法
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)
}
浙公网安备 33010602011771号