美文网首页
闭包的总结

闭包的总结

作者: Sharp丶TJ | 来源:发表于2021-11-23 16:54 被阅读0次

围绕:闭包是什么?闭包的用途有哪些?闭包的缺点是什么? 这三个问题来进行总结

一、何为闭包?
如果一个函数用到了外部的变量,那么这个函数加这个变量就叫做闭包。

那么如何从外部读取函数内部的局部变量?
例:

function f1(){
    let n=999;
    function f2(){
        alert(n); // 999
    }
}

从上面的代码中可以发现:函数 f2 就被包括在函数 f1 内部,这时 f1 内部的所有局部变量,对 f2 都是可见的。但是反过来就不行,f2 内部的局部变量,对 f1 就是不可见的。由于在 JavasSript 中,只有函数内部的子函数才能读取局部变量,所以说,闭包可以简单理解成"定义在一个函数内部的函数"。所以,在本质上,闭包是将函数内部和函数外部连接起来的桥梁。

二、闭包的用途
闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中,不会在 f1 调用后被自动清除。

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

相关文章

  • Gradle开发-Groovy闭包

    # 闭包 闭包的基础知识 闭包的使用 闭包 this,owner,delegate 的理解 总结 ## 闭包的基础...

  • 2020-12-08

    总结 一、闭包 闭包:当一个函数使用作用域外部变量,这个函数就是闭包例: 闭包的用途: 1. 储存变量:保存外部函...

  • 作用域和闭包

    目录 概述 作用域编译过程词法作用域全局作用域函数作用域 闭包循环和闭包闭包的用途性能 总结 概述 作用域和闭包一...

  • 闭包的总结

    围绕:闭包是什么?闭包的用途有哪些?闭包的缺点是什么? 这三个问题来进行总结 一、何为闭包?如果一个函数用到了外部...

  • 自动闭包/逃逸闭包/非逃逸闭包

    自动闭包、逃逸闭包和非逃逸闭包三个概念有些不好理解,这里按我自己的理解总结一下,不对的地方请指正 一、非逃逸闭包:...

  • JS进阶系列之闭包(2)

    刚刚总结完作用域链,我觉得很有必要马上对闭包总结一下,因为,之前也写过自己对闭包的理解,那时候只知道,闭包就是可以...

  • 闭包的总结

    我们在函数lazy_sum中又定义了函数sum,并且,内部函数sum可以引用外部函数lazy_sum的参数和局部变...

  • 理解闭包、立即执行函数、异步和回调

    闭包 什么是闭包 一个函数使用了它外面的变量,这种用法就是闭包。闭包是一个马后炮的总结。 那为何要这样做呢(搞得这...

  • Javascript 闭包和递归

    本篇是关于自己对于JS学习闭包和递归的学习和总结 , 大部分为引用 , 部分案例自己总结 。 1.1 闭包(cl...

  • Swift学习:闭包

    本篇将详细总结介绍Swift闭包的用法;闭包是自包含的函数代码块,可以在代码中被传递和使用。Swift中的闭包与C...

网友评论

      本文标题:闭包的总结

      本文链接:https://www.haomeiwen.com/subject/loiwtrtx.html