当函数可以记住并访问外部作用域时,就产生了闭包,那个外部作用域就称为闭包。
形成的原因:外层函数的作用域对象无法释放。
作用:保护一个变量,重用一个变量。坏处:使用不当,会造成内存泄漏。
大白话来解释:函数A和函数B,当内部函数B引用了A 的局部变量时,函数A称为闭包
原因是:JS是词法作用域,B的作用域链上有对A执行环境的引用(这个执行环境用函数来表示),A的执行环境AO就不会回收。
当函数可以记住并访问外部作用域时,就产生了闭包,那个外部作用域就称为闭包。
形成的原因:外层函数的作用域对象无法释放。
作用:保护一个变量,重用一个变量。坏处:使用不当,会造成内存泄漏。
大白话来解释:函数A和函数B,当内部函数B引用了A 的局部变量时,函数A称为闭包
原因是:JS是词法作用域,B的作用域链上有对A执行环境的引用(这个执行环境用函数来表示),A的执行环境AO就不会回收。