闭包知多少

什么是闭包

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


闭包解决了什么问题

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

闭包缺点

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

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

本文由 @郴州[Vip] 发布于 职涯宝 ,未经作者许可,禁止转载,欢迎您分享文章

发表评论

登录后才能评论
小程序
小程序
微信客服
微信客服
QQ客服 建站服务
分享本页
返回顶部