【JavaScript】ES 6之什么是闭包

闭包(closure)是指有权访问另一个函数作用域中变量函数

简单的理解就是:一个作用域可以访问另外一个函数内部的局部变量
闭包的主要作用:延申了变量的作用范围


在函数内部使用闭包:
【JavaScript】ES 6之什么是闭包

如图所示,函数fun可以使用fn的局部变量,反过来则不行。fn里声明的变量在fn内都可以使用,fun函数也在fn内部,所以可以使用num。

在函数外部使用闭包:
【JavaScript】ES 6之什么是闭包