zoukankan      html  css  js  c++  java
  • 闭包

    闭包是指有权限访问另一个函数作用域中变量的函数

    创建闭包的常见方式是在一个函数内部创建另一个函数。

    与之相关概念:作用域 作用域链

    作用域:当某个函数被调用时,会创建一个执行环境及相应作用域链,

    作用域链:保证对执行环境有权访问的所有变量和函数的有序访问。

      当前变量是当前执行代码所在环境的变量对象,下一个变量来自包含(外部)环境,再下一个变量来自下一个包含环境,这样一直延伸到全局执行环境。

    作用域链这种配置机制,引出一个副作用:

      闭包只能取得包含函数中任何变量的最后一个值。

    function createClosure(limitedNumber, string){
       var result = [];
       for (var i = 10; i >= 0; i--) {
           result[i] = function(){
             return i;
           }
       }
       return result;
    }

    返回的都是 10

  • 相关阅读:
    Mysql蠕虫复制
    Mysql中如何开启慢查询功能?
    线程的状态以及状态切换
    Java的Unsafe类
    Spring 获取jar内外文件的方式
    RocketMQ学习
    volatile的理解
    快速排序
    JVM的发展史
    nginx安装配置
  • 原文地址:https://www.cnblogs.com/zyjzz/p/7077171.html
Copyright © 2011-2022 走看看