闭包

概念

1.一个函数可以把它自己内部的语句(函数),和自己声明时所处的作用域,变量一起记录,封装成了一个密闭环境.我们称为“闭包” (Closures)。

运用

return 返回.

    var a = 333;
    function inner(){
        console.log(a);
}
    return inner;   //outer返回了inner的引用
}
var inn = outer();  //inn就是inner函数了
inn();
性质

1.函数能够持久保存自己定义时的所处环境,并且即使自己在其他的环境被调用的时候,依然可以访问自己定义时所处环境的值

2.var inn = outer();每次重新引用函数,定义闭包的时候,闭包是全新的。

特性

1.函数嵌套函数
2.函数内部可以引用外部的参数和变量
3.参数和变量不会被垃圾回收机制回收

好处

1.希望一个变量长期驻扎在内存中
2.避免全局变量的污染
3.私有成员的存在

语法

(function(){})()

你可能感兴趣的:(闭包)