zoukankan      html  css  js  c++  java
  • 闭包

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

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

    特性:

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

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

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

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

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

  • 相关阅读:
    掌控像素的虚实
    多用组合,少用继承
    HTML5的语法变化和新增加元素
    又逢六月
    设计心情之心情设计
    web2.0生成器(超过100个)[转]
    css+div CSS教程——元素定位
    项目进度
    清华大学统一认证接口与PHP的调用
    将51JOB的求职意向选择框Down了
  • 原文地址:https://www.cnblogs.com/hmycheryl/p/8601902.html
Copyright © 2011-2022 走看看