zoukankan      html  css  js  c++  java
  • js 那些事二 javascript中的闭包理解

    概念:闭包,值的是词法表示不被计算的变量的函数,也就是说,函数可以使用函数之外定义的变量。
    闭包就是可以让我们在函数外部使用函数内部声明的局部变量。并且闭包可以储存局部变量的值。有些有可称闭包为闭包函数。

    作用

    1. 可以在函数外部得到函数内部的局部变量
    <script>
    
        function a(){
            var i = 10;
            //声明一个函数,功能是返回i
            function getI(){
                return i;
            }
            return getI;//这里不要加(),加小括号表示调用函数,而这里是返回函数
        }
        
        var funcName = a(); //调用a函数,得到a函数的返回值
        //funcName == getI
        //funcName() === getI()
        console.log(funcName());
    </script>
    
    1. 储存变量的值
     <script>
    
        function a(){
            var i = 10;
            //声明一个函数,功能是返回i
            function getI(){
                console.log(i);
                i++;
            }
            return getI;//这里不要加(),加小括号表示调用函数,而这里是返回函数
        }
    
        var  funcName = a();  //调用a函数,得到a函数的返回值
        //funcName === getI
        // funcName() === getI()
        funcName();//11
        funcName();//12
        funcName();//13
    </script>
    
  • 相关阅读:
    BZOJ 3033 太鼓达人(DFS+欧拉回路)
    HDU 5121 Just A Mistake
    HDU 5120 Intersection
    HDU 5119 Happy Matt Friends
    HDU 5117 Fluorescent
    BZOJ 1088: [SCOI2005]扫雷Mine
    Codeforces 994 C
    BZOJ 2242: [SDOI2011]计算器
    HDU 4609 3-idiots
    算法笔记--FFT && NTT
  • 原文地址:https://www.cnblogs.com/liuqun/p/12655201.html
Copyright © 2011-2022 走看看