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

Javascript闭包(狗血剧情,通俗易懂)

时间:2015-01-05 23:21:35      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

我们先来看一个闭包的函数:

 function a() {
            var i = 0;
            function b() {
                alert(++i);
            }
            return b;
        }

        var c = a();
        c();
        c();
        c();

等价于

 function 男1() {
            var 孩子 = 0;
            function 女1() {
                alert(++孩子);
            }
            return 女1;
        }

        var 男2 = 男1();
        男2();
        男2();
        男2();

那么接下来我们分析分析闭包这个狗血的剧情。

javascript规则:如果只是两个人互相引用,那么GC(婚姻登记处)就回收这个两个人(PS:省的他们乱搞!)。

闭包:就是三个人,你中有我,我中有他,他中有你,这么复杂的关系,GC就懒得烦管了。

剧情:

         1、男1的心里(Scope chain  作用域)中有女1,女1的肚子(scope chani 作用域上的arguments )有孩子      男1和女1关系

          PS:如果只是男1和女1,那么就符合了javascript的规则,直接奔向幸福生活

         2、万恶的男2登场,男2也喜欢女1,并告诉男1你把她让给我吧,男1真的让给了男2

          PS:强烈谴责男2和男1,最大的问题是女1已经有男1的小孩了

         3、男2调用了女1,居然生了男1的孩子

      PS:以上剧情真心狗血,因此闭包,不是特殊环境请勿使用,呵呵~~

         

Javascript闭包(狗血剧情,通俗易懂)

标签:

原文地址:http://www.cnblogs.com/cainiaoguoshi/p/4204788.html

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