闭包

来源:互联网 发布:linux anaconda 编辑:程序博客网 时间:2024/06/05 14:42

闭包

当内部函数保存到外部中就形成了闭包,闭包会使原有的内存不释放,造成内存泄漏;
 <script>  function eater(){  var food='';  var obj={  eat:function(){  console.log('Wo shi'+food);  },  push:function(myfood){  food=myfood;  }  }  return obj;  }  var eater1=eater();  eater1.push('hongshu');  eater1.eat();  </script>




如下代码

<script>var b=function test(){var arr=[];for(var i=0;i<20;i++){arr[i]=function(){document.write(i+"<br>")}}return arr;}//var b=test()for(var j=0;j<10;j++){b()[j]()}</script>
如何成为闭包,使其最后形成123456789,而不是10,10......
解决如下:



原创粉丝点击