标签:
首先我们来看一个函数:
var a = ‘global variable‘; var F = function(){ var b = ‘local variable‘; var N = function(){ var c = ‘inner local‘; return b } return N; } cosole.log(b) // b:is not defind;
函数F中包含了局部变量b,因此b在全局空间里是不可见得。
函数N有自己的私有空间,同时也可以访问F()和全局空间,所以变量b对她来说是可见的。
因为F()是可以在全局空间中被调用的(她是一个全局函数),所以我们将她赋给另一个全局变量,从而生成了一个可以访问F()私有空间(内部的任何变量或其他)的新全局函数。
var inner = F(); inner(); // ‘local variable‘;
这就是所谓的利用闭包突破作用于链 !!!!!
这么一说是不是有些头绪了呢,那便请看下一张吧!(^-^)V
标签:
原文地址:http://www.cnblogs.com/beyond-succeed/p/5813057.html