Java教程

第 48 题:什么是闭包?

本文主要是介绍第 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 题:什么是闭包?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!