今天,我们来通俗的说一下闭包这个东东(这是我自己的理解,比较简洁)希望对各位有帮助!
闭包,通俗的来说就是打通了一条在函数外部访问函数内部作用域的通道,正常情况下函数外部是访问不到函数内部作用域的变量的。
有以下几种方式判断是不是闭包:
(1)函数嵌套函数
(2)内部函数被return
(3)内部函数调用外层函数的局部变量
优点:可以隔离作用域,不造成全局污染。
缺点:因为闭包长期驻留内存,所以长期这样是会导致内存泄漏的。
解决方法:将暴露在外的闭包变量设置为null
适用场景:
(1)封装组件
(2)for循环和定时器结合使用
(3)for循环和dom事件结合
(4)节流防抖函数的使用
(5)导航栏获取下标的使用
以上就是闭包的分享,谢谢!