如何形成的呢?
外层函数的变量被嵌套在函数体内部的函数引用着,导致外部变量无法释放,就形成了闭包。
作用?
当外部想要访问内部变量,但是又不想定义一个全局变量造成全局污染的时候,就可以使用闭包。
缺点:闭包闭正常函数多一个作用域对象,正常函数只有两个作用域对象,一个是自身函数体内部定义的变量,另一个是全局变量,而闭包多个一个外层函数作用域对象,因此比正常函数占用空间。
如何形成的呢?
外层函数的变量被嵌套在函数体内部的函数引用着,导致外部变量无法释放,就形成了闭包。
作用?
当外部想要访问内部变量,但是又不想定义一个全局变量造成全局污染的时候,就可以使用闭包。
缺点:闭包闭正常函数多一个作用域对象,正常函数只有两个作用域对象,一个是自身函数体内部定义的变量,另一个是全局变量,而闭包多个一个外层函数作用域对象,因此比正常函数占用空间。