我对闭包的一点理解

闭包是一种特殊的对象。

它由两部分构成:函数,以及创建该函数的环境。

我们可以把闭包简单理解成 “定义在一个函数内部的函数”,闭包就是将函数内部和函数外部连接起来的一座桥梁。

闭包有如下特性:

a. JavaScript允许你使用在当前函数以外定义的变量

b. 即使外部函数已经返回,当前函数仍然可以引用在外部函数所定义的变量

c. 闭包可以更新外部变量的值

d. 用闭包模拟私有方法

值得注意的是:

由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题。

posted @ 2016-03-31 15:31  箫声远  阅读(172)  评论(0编辑  收藏  举报