闭包

闭包是可访问上一层函数作用域里变量的函数,即便上一层函数已经关闭。

创建闭包的最常见的方式:在一个函数内部创建另一个函数,通过另一个函数访问这个函数内部的变量并做处理,将函数内部的变量和方法传递(return)到外部。

var add = (function () {

    var counter = 0;

    return function () {

        return counter += 1;

    }

 })();

add();  // 1

add();  // 2

add();  //3

闭包的特性:

当前作用域总是能够访问外部作用域中的变量

函数内再嵌套函数

变量(私有变量)不会被垃圾回收机制回收

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