• 闭包


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

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

    特性:

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

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

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

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

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

  • 相关阅读:
    iOS开篇——UI之UILabel
    关于Block初识与自己的认识
    浅拷贝与深拷贝
    关于MacBook Pro选购
    准备考试 暂时停更
    Objective-C代理
    Objective-C协议初识
    Objective-C内存管理
    通讯录习题
    软件工程第二次作业 词频统计
  • 原文地址:https://www.cnblogs.com/hmycheryl/p/8601902.html
Copyright © 2020-2023  润新知