js中关于闭包的理解

闭包的概念

    所谓的闭包就是利用作用域的嵌套,将原本的局部变量进化成私有变量,同时在作用域的外部能够拿到该变量的环境,就叫做闭包!

闭包的特点

    1.比较消耗性能

    2.避免了全局变量的污染

    3.可以在外部操作内部的变量,方便 但是不安全

    4.低版本浏览器会造成内存的泄露

    5.将原本要删除的变量保存起来,方便下一次使用

闭包的原理

    表现:作用域的嵌套

    本质:函数的定义区域: 函数的定义作用域

               函数的执行区域: 函数的执行作用域

    关系:执行时,可以拿到定义作用域的所有变量

    像这种利用作用域嵌套,拿到内部变量的 环境,都可以看做成闭包。(利用作用域的嵌套,触发了计算机的垃圾回收机制,将原本要删除的变量临时保存到新的作用域中)

  应用场景: 1.循环内绑定的事件  2. 事件处理函数  3.计时器 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容