闭包

  • 闭包的概念 :闭包就是能够读取其他函数内部变量的函数 只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数" 所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。

  • 闭包的使用场景:一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中(因为堆栈的栈里面 会自动清理没有调用的变量 而闭包可以让未使用的变量保存下去)

  • 闭包的问题:由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。
    解决方法是:在退出函数之前,将不使用的局部变量全部删除。


function aa(){
              var bs = "name"
              return function(name){
                    //  console.log(bs)
                    bs = name
                    console.log(bs) //undefined
                }
         }
        //  console.log(bs) // 报错,bs is not defined
        // aa()()

        let option = aa()
        option("zhangsan")  //zhangsan
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 一、变量...
    风萧萧易水寒_1196阅读 314评论 0 0
  • 本章将会介绍 闭包表达式尾随闭包值捕获闭包是引用类型逃逸闭包自动闭包枚举语法使用Switch语句匹配枚举值关联值原...
    寒桥阅读 1,631评论 0 3
  • 一、闭包是什么?   闭包(closure)就是能够读取其他函数内部变量的函数。在javascript中,只有函数...
    懿左左阅读 726评论 0 6
  • 我走进夏季的原野 在柔软的草甸上 踩碎一朵朵小花 让风送往天涯 途经牛羊 有的休憩有的反刍 神情悠悠 闲适而自由 ...
    粟芒阅读 300评论 0 4
  • 也是因为徐经理,我知道简书这个软件,他明天晚上都会在简书写一些东西,我觉得坚持一件事情真的好不容易。我也要从今天开...
    wh从现在开始阅读 193评论 0 0

友情链接更多精彩内容