闭包(2018-04-24)

大家都知道在function里面定义的变量在function外面是不能访问的,闭包就是为满足某些需要在函数外面访问函数内的变量的要求。

在看例子之前记住一个概念:函数就是一块儿保存了现有数据的内存。

下图中就是一个很简单的闭包,f是全局变量并指向f2,f2依赖于f1。闭包函数f1在f失效之前会一直保存在内存中。但是f2不会哦,因为f2没有被依赖。保存在内存中会发生什么样的事情呢,看例二吧!

图片发自Karaio

这就是例二本例了,从例子可以看出f1里面的变量是一直在内存中保存着的,而不是我们惯性认为是函数调用一次之后就失效的。那f2呢?例三

图片发自Karaio

不念叨了,看图吧。

图片发自Karaio

路上打的这段文,经过n多诱惑还是没忍住…

分享完毕

你可能感兴趣的:(闭包(2018-04-24))