【转载】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(婚姻登记处)就回收这个两个人。
闭包:就是三个人,你中有我,我中有他,他中有你,这么复杂的关系,GC就懒得烦管了。
剧情:
1、男1
的心里(Scope chain
作用域)中有女1
,女1
的肚子(scope chani
作用域上的arguments
)有孩子
PS:如果只是男1
和女1
,那么就符合了javascript的规则,直接奔向幸福生活
2、万恶的男2
登场,男2
也喜欢女1
,并告诉男1
你把她让给我吧,男1
真的让给了男2
PS:强烈谴责男2
和男1
,最大的问题是女1
已经有男1
的小孩了
3、男2
调用了女1
,居然生了男1
的孩子
转载:https://www.cnblogs.com/cainiaoguoshi/p/4204788.html#4139498
标签:闭包,function,狗血,作用域,PS,Javascript,剧情,var 来源: https://blog.csdn.net/weixin_43606809/article/details/95923648