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

  • 相关阅读:
    "etc/profile" E212: Can't open file for writing
    Swift 判断是否是调试模式以及是否越狱
    密码技术之基本介绍
    算法
    App Thinning (App 瘦身)
    #pragma once vs #ifndef
    APUE学习之进程控制
    Socket编程-基础使用
    Link Script 学习
    PX4学习之-uORB msg 自动生成模板解读
  • 原文地址:https://www.cnblogs.com/zion0707/p/3889360.html
Copyright © 2011-2022 走看看