闭包

闭包 是有权访问另一个函数作用域中变量的函数。创建闭包的方式,在一个函数中创建另一个函数,创建的函数可以当前函数中的变量。
 
意义:让我们可以间接的访问函数的变量
用途:
1.使我们可以在函数的外部可以访问函数内部的变量。通过闭包,可以在外部调用闭包函数,从而在函数的外部可以访问函数内部的变量。可以使用这种方法创建私有变量。
2.使已经运行结束的执行上下文中的变量对象继续保存在内存中,闭包函数保留了变量对象的引用,所以这个变量对象不会被回收。
 
闭包:
优点:可以避免全局变量的污染,能够实现封装和缓存等
缺点:就是消耗内存、不正当使用会造成内存溢出的问题
解决方法是,在退出函数之前,将不使用的局部变量全部删除
 
 
比如,现在有函数A ,在函数A 中有函数B ,函数B可以访问到 函数A 中的变量 ,函数B 叫做闭包。
应用场景:循环中使用闭包解决 var 定义函数的问题
所有的自由变量的查找,是在函数定义的地方,向上级作用域查找,而不是在函数执行的地方

posted @ 2022-03-29 22:29  LJMing68  阅读(26)  评论(0)    收藏  举报