码迷,mamicode.com
首页 > 编程语言 > 详细

javascript闭包

时间:2016-05-13 18:57:04      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

一句话:有权访问另一个函数作用域内变量的函数都是闭包。

           有权访问另一个函数作用域内变量的函数都是闭包。

           有权访问另一个函数作用域内变量的函数都是闭包。

说三遍的都是真理!

不多说看代码:

function a() {
    var b = 0;

    function c() {
        alert(b++);
    }

    return c;
}
var d = a();
d();//b=0;
d();//b=1;

  

如上是一层嵌套,下面是两层:
function a() {
    var b = 0;

    function c() {
        function f() {
            alert(b++);
        }

        return f;
    }

    return c;
}
var d = a();
d();
d();

  

浏览器并没有弹窗而是打印出了
function f() {
     alert(b);
}

 

而把 b(); 改成 b()();  则可以正常反应。

* ()是指执行函数的意思。

 

javascript闭包

标签:

原文地址:http://www.cnblogs.com/liu-liu/p/5490318.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!