第 48 题:什么是闭包?

Posted Noxus丶SJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第 48 题:什么是闭包?相关的知识,希望对你有一定的参考价值。

闭包就是指有权访问另一个函数作用域中的变量的函数

观看了 JS 高级程序设计中的闭包后,发现可以描述的更具体,这个将在后期更新此篇文章

栗子

function foo() {
    var local = 1;
    function bar() {
        local++;
        return local;
    }
    return bar;
}

var func = foo();
console.log(func()); // 2

优点

  1. 可以读取函数内部的变量

  2. 函数内部的变量保留在内存中,不被销毁

缺点

  1. 在闭包不使用的情况下要及时释放,否则将造成内存泄漏

文章的内容/灵感都从下方内容中借鉴

以上是关于第 48 题:什么是闭包?的主要内容,如果未能解决你的问题,请参考以下文章

js面试题-----作用域与闭包

JS---闭包

Spark闭包与序列化

第48题常用的数学工具类5-指数与对数运算

第2题——DNA片段

48个值得掌握的JavaScript代码片段(上)