首页 > 代码库 > javascript 函数初探 (六)--- 闭包初探#1

javascript 函数初探 (六)--- 闭包初探#1

先我们来看一个函数:

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

javascript 函数初探 (六)--- 闭包初探#1