javascript 函数初探 --- 闭包初探#1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

PHP闭包(Closure)初探(转载 http://my.oschina.net/melonol/blog/126694?p=2#comments)

JS闭包以及作用域初探

Block的使用--初探Block

javascript 函数初探

javascript 对象初探 --- call()和apply()初探

javascript 函数初探