闭包知多少

   日期:2020-09-13     浏览:101    评论:0    
核心提示:什么是闭包在js中变量的作用域属于函数作用域, 在函数执行完后,作用域就会被清理,内存也会随之被回收,但是由于闭包函数是建立在函数内部的子函数, 由于其可访问上级作用域,即使上级函数执行完, 作用域也不会随之销毁, 这时的子函数(也就是闭包),便拥有了访问上级作用域中变量的权限,即使上级函数执行完后作用域内的值也不会被销毁。闭包解决了什么问题可以读取函数内部的变量 可以将变量的值始终保存在内存中,不会再函数被调用后清除 封装getter 和 setter 方法闭包缺点闭包会导致函数内的

什么是闭包

在js中变量的作用域属于函数作用域, 在函数执行完后,作用域就会被清理,内存也会随之被回收,但是由于闭包函数是建立在函数内部的子函数, 由于其可访问上级作用域,即使上级函数执行完, 作用域也不会随之销毁, 这时的子函数(也就是闭包),便拥有了访问上级作用域中变量的权限,即使上级函数执行完后作用域内的值也不会被销毁。

闭包解决了什么问题

  • 可以读取函数内部的变量
  • 可以将变量的值始终保存在内存中,不会再函数被调用后清除
  • 封装getter 和 setter 方法

闭包缺点

  • 闭包会导致函数内的变量都存在内存中,滥用闭包会导致内存消耗过大,导致网页性能问题,解决方法是在退出函数之前,将不再使用的局部变量全部删除。
  • 内存泄漏问题

感谢观看,对于本篇文章有任何问题,可以在评论区评论!

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服