美文网首页
闭包的特性、影响

闭包的特性、影响

作者: Hedgehog_Dove | 来源:发表于2017-04-10 12:14 被阅读0次

“官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。

通俗的讲:就是函数a的内部函数b,被函数a外部的一个变量引用的时候,就创建了一个闭包。

(这样在执行完var c=a()后,变量c实际上是指向了函数b,再执行c()后就会弹出一个窗口显示i的值(第一次为1)。这段代码其实就创建了一个闭包,为什么?因为函数a外的变量c引用了函数a内的函数b)

闭包的特性:

①.封闭性:外界无法访问闭包内部的数据,如果在闭包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口;

②.持久性:一般的函数,调用完毕之后,系统自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包结构依然保存在

系统中,闭包中的数据依然存在,从而实现对数据的持久使用。

优点:

① 减少全局变量。

② 减少传递函数的参数量

③ 封装;

缺点:

使用闭包会占有内存资源,过多的使用闭包会导致内存溢出等.

相关文章

  • 闭包的特性、影响

    “官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变...

  • 闭包的理解

    闭包目的: 闭包三个特性: 闭包的用途: 闭包的优点: 闭包的缺点: 参考文献: https://zhuanlan...

  • JavaScript----闭包

    javascript之闭包 闭包的概念     闭包(closure)是 JavaScript 的一种语法特性。 ...

  • (9) python之闭包

    闭包闭包 = 函数 + 环境变量(函数定义的时候) 一个最简单的闭包 闭包不受外部变量影响 非闭包 闭包 闭包 只...

  • js闭包

    闭包的定义 闭包就是能够读取其他函数内部变量的函数 闭包的特性 封闭性:外界无法访问闭包内部的数据,如果在闭...

  • JavaScript 解密 —— 函数进阶(闭包与生成器)

    一、闭包 简单来说,闭包(closure)允许函数访问和操作位于自身外部的变量。借助闭包的特性,函数可以访问任何变...

  • JavaScript--闭包(Closure)

    闭包(Closure)是一个老生常谈的话题,也是JavaScript重要的特性之一(闭包和异步) 说闭包之前我们先...

  • 面试题整理-JavaScript(中)

    1. 闭包 闭包可以说是JavaScript最强大的特性了,很多功能都是依靠闭包来实现的,比如高阶函数。 1.1 ...

  • js面试题

    JS中闭包的特性及其优缺点 闭包有三个特性: 函数嵌套函数。 函数内部可以引用外部的参数和变量。 参数和变量不会被...

  • 闭包特性的探索

    闭包体现了JavaScript的一个特性,函数体可以访问定义该函数的作用域的变量,但是定义该函数的作用域不能访问函...

网友评论

      本文标题:闭包的特性、影响

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