TOP

函数4---函数表达式、闭包

闭包:函数中的函数;用于获取函数内部变量的函数;

function A(){
    var info = "hello";
    var B = function(){
        return info;
    }
    return B;
}

console.log(info) // 报错(info is not defined)

console.log(A()()) // "hello" 

在全局作用域中,如果想访问A函数中的变量info,直接访问会报错,因为A函数体是个作用域,父作用域无法访问子作用域中的变量;

但是可以通过闭包的形式访问A函数中的变量;

 注意:

  由于闭包会携带包含它的函数的作用域(保存着一个作用域链),因此会占用更多的内存;

 

posted @ 2017-07-24 23:36  RocketV2  阅读(170)  评论(0)    收藏  举报