zoukankan      html  css  js  c++  java
  • javascript 闭包笔记

    先来解释一下闭包:

    1.闭包就是函数嵌套函数

    2.内部函数可以引用外部函数的参数和变量

    3.参数和变量不会被垃圾回收机制所收回( 垃圾回收机制就是用完变量之后就在内存中释放 )

    使用闭包的好处:

    1.希望一个变量长期驻扎在内存当中

    2.避免全局变量的污染

    3.私有成员的存在

    闭包的用法:

    1.模块化代码

    我们看一个闭包小实例 :

    function aa(){

        var a = 5;

        // 函数中嵌套函数

        function bb(){

             a++;

            // 内部函数可以引用外部函数的参数和变量

             alert(a);

         }

        return bb;

       }

    var c =  aa();

    c();  // 结果是2

    c();  // 结果是3  变量不会被垃圾回收机制所收回,意思就是变量还在内存里,变量还可以累加

    再写一个模块化代码:    

    var aa = (function(){

        var a = 1;

        function bb(){

        //访问函数外部的变量

        a++;

        alert(a);

       }

        //现在 a 还存在了内存里,此时 a 变成了2

        function cc(){

        a++;

        alert(a); // a 累加就变成 3

       }

       return {

        b:bb,

        c:cc

        }

    })()

    aa.b(); // 2

    aa.c(); // 3

  • 相关阅读:
    Java 工程名上有个红色叹号
    TestNG 入门教程
    字典序问题
    统计数字问题
    sniffer 简介
    【转】IE浏览器快捷键大全
    批处理 延时不完全总结【转】
    批处理(Batch)---批处理脚本。
    windows系统命令行
    计算机网络
  • 原文地址:https://www.cnblogs.com/zion0707/p/3889360.html
Copyright © 2011-2022 走看看