首页 > 代码库 > Javascript闭包(狗血剧情,通俗易懂)

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

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

 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闭包(狗血剧情,通俗易懂)