闭包

  1. 有权访问另一个函数作用域中的变量的函数,🐷:是函数
function fn {
    var n = 2;
    function fn1 {
        alert(n++)
    }
    return fn1
}
fn() //1
fn() //2
上面的备注是函数,这个 函数fn 最后返回一个函数fn1,这就是闭包,一个好处是,变量n可以不用背外界访问到。
  1. 坏处:
    (1)由于变量不会自动清除,会占用内存
    (2)变量,只会返回最后一个值,闭包只能取得包含函数中任何变量的最 后一个值,包含函数,指的不是外层那个函数

    function createFunctions(){
        var result = new Array();
    for (var i=0; i < 10; i++){
    result[i] = function(){
    return i; };
    }
    return result;
    }
posted @ 2018-08-09 14:21  dfgfgf  阅读(106)  评论(0编辑  收藏  举报