关于闭包我想说的


闭包是保护并重用局部变量的机制
为什么用: 全局变量: 优: 随处可用,可重用,缺: 易被污染
局部变量: 优: 仅在函数内用,安全,缺: 不可重用
何时使用: 希望重用一个变量,又不希望被污染时-保护局部变量
如何定义: 3步:
1. 定义受保护的局部变量
2. 定义内层函数专门操作受保护的变量
3. 定义外层函数将受保护的变量和操作变量的函数封装起来,外层函数将内层函数返回到外部

<script>

function fun(){
for(var i=0,arr=[];i<3;i++){
//函数定义时不执行函数体
arr[i]=function(){return i};
}//i=3
return arr;
}
var funs=fun();
//funs:[
// function(){return i},
// function(){return i},
// function(){return i}
//]
console.log(funs[0]());//3
console.log(funs[1]());//3
console.log(funs[2]());//3

function f(){
var n=999;
/*window.*/nAdd=function(){n++};
return function(){return n;}
//n=999
}
var get=f();
//f共抛出了几个内层函数:
//get: function(){return n;}
//nAdd: function(){n++}
console.log(get());//999
nAdd();
console.log(get());//1000

</script>

优质内容筛选与推荐>>
1、树链剖分
2、IOS NSString字符串基本操作
3、Hello 博客园! ---致我人生中的第一篇随笔
4、一组连续的数中少了某一个,找到它
5、Python自动化开发S14 Day1 - Python基础1


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号