• 掌握闭包closure (含义及优缺点)


    个人认为闭包其实非常好理解,我们一起去认识什么是闭包。

    在javascript脚本语言中,变量的作用域只有两种,一种是全局变量,一种是局部变量。

    全局变量的函数可以在整个javascript脚本语言中被引用,但是局部变量只存在于声明这个变量的函数内部,外部函数无法访问。

    也就是说局部变量可以访问外部变量,外部函数无法访问局部变量。

    在js中,只有在声明这个变量函数内部的子函数才能读取局部变量。
    所以当我们需要得到函数内的局部变量时,就只能在函数的内部再定义一个函数,且这个子函数不接受任何参数。这就是闭包。它是能够读取其他函数内部变量的函数,把函数内部和外部接连起来的一座桥梁

      闭包的用途:
    1.可以读取其他函数内部的变量。
    2.让变量的值始终保持在内存中。
      闭包的好处:
    1.不增加额外的全局变量。
    2.执行过程中所有变量都是在匿名函数内部。
      闭包的缺点:
    1.闭包会使得函数中的变量都被保存在内存中,内存消耗大。
    不能随意滥用闭包,否则会照成网页的性能问题,在IE中
    可能会导致内存泄漏,解决方法是,在退出函数之前,把不使用
    的局部变量全部删除
    2.闭包会在父函数外部,改变父函数内部变量的值。
    不能随便改变父函数内部变量的值。


    原文:https://blog.csdn.net/DreamsTom/article/details/53857477 

  • 相关阅读:
    Thrift --- 支持双向通信
    Go -- 配置监控系统
    Go -- RPC 之 Thrift
    Go -- 一致性哈希算法
    Go -- runtime.Gosched()的作用分析
    Go -- import使用及. _的作用解析
    BNF 和 ABNF 扩充巴科斯范式 了解
    转 HTTP.SYS 详解
    转 HTTP/2: The Long-Awaited Sequel
    网站分析
  • 原文地址:https://www.cnblogs.com/Antwan-Dmy/p/10716779.html
Copyright © 2020-2023  润新知