zoukankan      html  css  js  c++  java
  • 闭包

    定义:闭包就是能够读取其他函数内部变量的函数,在javascript语言中,只有在函数内部的子函数才能够读取局部变量,闭包起到了将函数内部与函数外部连接起来的桥梁作用。

    函数a的内部函数b被函数a外部的变量引用时就创建了一个闭包。

    特性:

      封闭性:外界无法访问闭包内部的数据,除非闭包主动向外界提供访问接口;

      持久性: 一般的函数调用完毕之后系统自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包结构依然存在系统中,闭包中的数据依然存在,从而实现对数据的持久使用;

    优点:减少全局变量、减少传递函数的参数量、避免变量之间相互影响、封装;

    作用:①可以读取函数内部的变量; ②可以让这些变量的值始终保存在内存中;

    注意点:①内存消耗过大,谨慎使用,否则会影响网页性能。在ie浏览器中可能会存在内存泄漏。解决办法是在退出函数前将不使用的局部变量全部删除 ②闭包会在父函数外部改变父函数内部变量的值。如果你把父函数当做对象使用,把闭包当做它的公共方法,把内部变量当做它的私有属性,需注意不要随便改变父函数内部变量的值。

  • 相关阅读:
    WebCollector2.7爬虫框架——在Eclipse项目中配置
    JavaScript 输出
    CSS3 页面中展示邮箱列表点击弹出发送邮件界面
    CSS3 Flex Box(弹性盒子)
    CSS 分页实例
    CSS 图片
    CSS3 用户界面
    CSS3 动画
    CSS3 过渡
    CSS3 3D转换
  • 原文地址:https://www.cnblogs.com/hmycheryl/p/8601902.html
Copyright © 2011-2022 走看看