(四)不可不说的JS重点知识~闭包(测试小姐姐专题)

        咱们一块儿,天天进步一点。日积月累,有朝一日定会,厚积薄发。java

(一)不可不说的JS重点知识~当即执行函数编程

(二)不可不说的JS重点知识~节流和防抖(测试小姐姐专题)markdown

(三)不可不说的JS重点知识~递归和尾递归(测试小姐姐专题)闭包

(四)不可不说的JS重点知识~闭包(测试小姐姐专题)函数

(五)javaScript重点知识~~~单例模式(测试小姐姐专题)post

        你们好,通过一周的“递归”攻势。测试小姐姐已经返璞归真(她居然敢在个人副驾驶脱鞋了。还把腿搭在了储物箱上面),她卸去了女神高冷的姿态。这让我内心多少有点安慰,毕竟没有辜负我这些日子的付出。
       不过我发现测试小姐姐身边,仍是有别的男人在其左右献殷勤。怎么办呢?我是占有欲很强的男人啊,这种状况能容忍吗?要想办法,让小姐姐内心只有我一我的。她的私生活只能有我来参与,具体就是:她只能和我牵手、一块儿逛街、购物、吃饭........固然还有 吻.........
时间一分一秒的过去,“闭包”的编程思想让我灵光一现。“闭包”其中一个特性,不就可让一个对象的属性设置成私有属性吗!!!!
        让小姐姐的,牵手、吃饭、购物.....这些属性。只能让我来访问 就能够了。
把小姐姐当作一个函数,在她的内部建立一个函数,而后return这个函数。当她new一个对象。返回的函数始就是是我。只有我能访问 小姐姐这个函数的全部属性。这个想法态太MT了。

1、接下来让咱们认识一下闭包。

**闭包函数**:声明在一个函数中的函数,叫作闭包函数。
**闭包**:内部函数老是能够访问其所在的外部函数中声明的参数和变量,即便在其外部函数被返回(寿命终结)了以后。

2、闭包的优缺点

      局部变量会常驻在内存中;
      能够避免使用全局变量,防止全局变量污染;
      会形成内存泄漏(有一块内存空间被长期占用,而不被释放)

3、闭包的经典案例。

案例一:

function xiaojiejie(){           
         var dubai = '我爱你小马哥哥';  // xiaojiejie的活动对象之中;          function wenwo(){               
                 console.log('吻我')         
         }                    
         return function(){   //匿名函数的活动对象;         
                console.log(dubai);        
                wenwo();             
          }                   
}           
     var wo = xiaojiejie();         
     wo();//我爱你小马哥哥,吻我
复制代码

案例二:

function xiaojiejie(x) {
         return function(y) {
                return x + y;
         };
}
        var duixiang1 = xiaojiejie("小马哥");
        var duixiang2 = xiaojiejie("我爱你");
        console.log(duixiang1("我爱你"));  // 小马哥 我爱你
        console.log(duixiang2("xxx")); // 我爱你 xxx
复制代码
        没有十全十美的解决方案。正如这个闭包,我忽略了一个特性就是,小姐姐能够new好多个对象出来,每一个对象,都有他们本身特有的内存地址。new出来的每一个不一样的对象都能访问小姐姐的属性。虽然案例二,能够经过传参的方式,能够在某种程度上进行优化。可是小姐姐在灯红酒绿的大都市中不免受到腐蚀。若是解决不了这个问题,小姐姐均可以当海王了。想到这里我哭了,怎么办??我想让小姐姐的内心只有我........ 各位大神帮个支个招吧.........
相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息