javascript 闭包系列(一)

什么是闭包????
闭包(Closure)与函数有着严密的关联,以至于许多人将函数与闭包同等起来议论,但效果却老是议论不清楚。

事实上在JavaScript 中,一个函数只是一段静态的代码、剧本文本,因而它是一个代码誊写时,以及编译期的、静态的观点
而闭包则是函数的代码在运转历程当中的一个动态环境,是一个运转期的、动态的观点

因为引擎对每一个函数竖立其自力的上下文环境,因而当函数被再次实行或进入函数体内的代码时,就将会获得闭包内的悉数信息。

闭包具有两个特性:
第一:是闭包作为与函数成对的数据,在函数实行历程当中处于激活(即可接见) 状况;
第二:是闭包在函数运转完毕后,坚持运转历程的终究数据状况

因而函数的闭包总的来讲决议了两件事:闭包所对应的函数代码怎样接见数据,以及闭包内的数据什么时候烧毁。关于前者来讲,触及作用域(可见性)的题目;关于后者来讲,触及数据援用的辨认。

    原文作者:斯文败类
    原文地址: https://segmentfault.com/a/1190000005167435
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞