你的位置:首页 > Java教程

[Java教程]javascript 函数初探 (六)


先我们来看一个函数:

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