美文网首页
浅谈闭包

浅谈闭包

作者: 闭包不是包 | 来源:发表于2018-08-01 21:50 被阅读12次

前端开发者经常在面试时会碰到这样一道题:什么是闭包?
首先我们来谈谈闭包的定义:函数A有内置函数B,当内置函数B调用函数A的变量时,就形成了闭包!
以下函数就是闭包的简单应用

function aa(){
    let a=1;
    return function(){
        a++;
        console.log(a);
    }
}
let fn=aa();
fn();  //输出2
fn();  //输出3

可以看出闭包保存了函数A的变量的变化值!
由此可以看出闭包的缺点是容易造成内存泄露。

相关文章

  • 浅谈闭包

    闭包是函数式语言里面很重要的部分,但是网上很多文章却只讲闭包的应用,而鲜有谈及其本质。 理解闭包的关键在于,知道它...

  • 浅谈闭包

    简要来讲,闭包就是一个函数引用另外一个函数的变量,因为变量被引用着所以不会被回收,因此可以用来封装一个私有变量。 ...

  • 浅谈闭包

    前端开发者经常在面试时会碰到这样一道题:什么是闭包?首先我们来谈谈闭包的定义:函数A有内置函数B,当内置函数B调用...

  • 浅谈闭包

    js中的闭包 闭包是学习js中永远也绕不过去的一个坎,那么,今天我们就去一段简单的代码开始聊一聊闭包 什么是闭包 ...

  • 浅谈闭包

    《你不知道的JavaScript》这样描述: 当函数可以记住并访问所在的词法作用域时,就产生了闭包, 即使函数是在...

  • 浅谈闭包

    闭包是JavaScript的重点也是难点之一,由于涉及多重知识点,对初学者来说比较难理解。本文将闭包相关的知识点进...

  • 浅谈闭包

    注: 文章摘自 Reng の Blog 定义 闭包是指有权访问另一个函数作用域中的变量的函数 我的理解是,函数内的...

  • 闭包

    浅谈 python 的闭包思想 首先 python的闭包使用方法是:在方法A内添加方法B,然后return 方法B...

  • swift闭包

    浅谈闭包 闭包就是一段代码块,可以在任何地方调用。和函数类似,有参数和返回值。 来看一个简单的例子 带有参数的闭包...

  • 浅谈js闭包

    一.作用域 var x = 0 //全局变量 x var y = 10 //全局变量 y var fun...

网友评论

      本文标题:浅谈闭包

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