范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

深入了解什么是JS中的闭包

  什么是闭包?相信很多人听了有点懵,然后去百度查了一下官方的定义"闭包就是能够读取其他函数内部变量的函数"发现感觉自己更懵了。关于闭包如果只看那官方的定义的话确实不是让人很容易理解。
  要想理解什么是闭包,首先得弄清楚什么是作用域,作用域可以理解为一个变量可以使用的范围。
  在 JavaScript 中有两种作用域类型:局部作用域
  在 JavaScript 函数中声明的变量会成为函数的局部变量。局部变量的作用域是局部的所以只能在函数内部访问它们。全局作用域
  函数外声明的变量属于全局变量。全局变量的作用域是全局的所以网页的任意部分和函数都能够访问它。
  有了作用域做铺垫,再来学习闭包就容易多了。 function f1(){     var n=10;//局部变量n     					//在f1函数内部声明的f2函数     function f2(){       alert(n);     }     return f2;//将f2函数作为f1函数的返回值   }   var fobj=f1();//f1调用完后的返回值是一个f2函数,此时fobj就是f2函数   fobj(); // 输出10,调用f2函数
  上述代码就是一个简单的闭包函数,闭包的用处有两个,一个是可以读取函数内部的变量,另一个就是在内存中让这些变量的值始终保持。  function f1(){     var n=5;//局部变量n     add=function(){  //fdd前面没有使用var关键字,因此add是一个全局变量的匿名函数       						n+=1     					}    					 //在f1函数内部声明的f2函数     function f2(){       alert(n);     }     return f2;   }   var fadd=f1();   result(); // 输出5   add();   fadd(); // 输出6
  从上面这段代码中可以看出,fadd就是闭包f2函数。它一共运行了两次,第一次的值是5,第二次的值是6。这证明函数f1中的局部变量n一直保存在内存中,并没有在f1调用后被自动清除。因为f1是f2的父函数,而f2相当于赋给了f1一个全局变量,所以f2一直在内存中。而f2的存在又依赖于f1,因此f1也一直在内存中,不会在调用结束后回收。
  由于闭包会使函数中的变量都被保存在内存中,导致内存消耗很大,造成网页的性能问题,在IE中还可能导致内存泄露,所以不能滥用闭包,在退出函数之前,将不使用的局部变量全部删除。

火影忍者究极风暴4中文版火影忍者究极风暴4是由NamcoBandai发行的一款格斗游戏,以火影忍者动漫为故事蓝本,也是火影系列的最新作,不仅对画面和战斗火爆程度大幅度提升,还加入了混战地形破坏效果,在玩家影子战术将军之刃爱子的选择评测从上火到上头Mimimi做RTT游戏从不让人失望不得不说,影子战术将军之刃爱子的选择,更像是正作的新资料片,并且基本没有改动。在操作系统和可用人物上,影子战术将军之刃爱子的选择与正作影子战术将惊喜开箱!来战舰世界领福利了12月15日,战舰世界全球同步火热开启,玩家蜂拥而至参与此次活动,作为2021的重磅活动,全球同步给大家准备的福利着实不少,量大且精致。全新战舰像是S系航母,D系2线战列舰,造船厂王国保卫战10周年专题纪念视频公布为纪念王国保卫战发售10周年,IronhideGameStudio发布了一部记录游戏与工作室发展历程的视频。视频地址王国保卫战是一款塔防游戏,其开发商IronhideGameStuDota2互联网邀请赛落幕,黑豚战队逆袭夺冠,拿到了Tspirit剧本前段时间,Dota2圈的首届TheInternet互联网邀请赛正式落下帷幕,本次比赛结束后,也有很多人顺利出圈,包括赛事主办人Zard,扩大了Dota2游戏的影响力,让更多人发现了Dota2Longdd与老陈开启竞速模式,水友表示谢谢你,菠萝赛东哈喽大家好,这里是蜻蜓队长Zwj。随着第一届TheInternet互联网邀请赛的落幕,Dota圈也开始趋于平静了,就在互联网邀请赛落幕的同时,远古大神Longdd也是在小破站开启了C9选手在线学习韩语?只因队伍当中三位LCK选手,遭网友无情嘲讽以前LCK的选手在英雄联盟这款游戏的统治力,是非常强大的。从各大赛区LCK选手的占比,就可以看得出来。LCK在S4开始之后,向世界各大赛区输送人才,时至今日,每一年的S赛冠军都有L边路之猴桑杰露脸,50岁声音18岁的脸,直言哥的帅气你无法抵御王者荣耀已经进行到S25赛季了,这个赛季和之前相比还是有不小的变化,皮肤也是越出越多。很多玩家平时不仅仅是关注游戏本身,还比较喜欢看直播,主播和游戏也是相辅相成的。游戏主播分很多种EDG冠军皮肤正式公布,jiejie放弃皇子,准备冲击销量纪录前言S11赛季的比赛已经全部结束了,相信绝大多数的玩家都关注了最近一段时间的edg战队,作为世界总决赛的冠军,他们的整体人气热度是非常高的。冠军皮肤成为了所有玩家关注的焦点,夺冠之王者荣耀镜匿光追影者爆料登场,祈雪灵祝即将优化,吕布有好消息大家好,我是小欢,原创不易,切勿抄袭大家前几天不是还在奇怪王者荣耀没有什么大动作吗,这不就在最近,王者荣耀好事频频,多个皮肤好消息不断,除了有之前的马可波罗6元秒杀皮肤以外,马上镜KPL限定即将上线,不会玩镜不要紧,教你如何打崩她,对位就选铠大家好我是指尖,镜姐的kpl限定皮肤终于全面曝光,且即将上线,超低的价格诱惑力十足,然而镜的操作难度太高,以至于劝退了无数玩家,看到赛场上的镜乱秀轻松切后排,到了自己手上可能就像个
梦幻西游1个月刷11亿经验,从0升到69级,凑全身无级别,罕见Hello大家好,我是浩仔!关注浩仔,每天给你带来最新梦幻西游游戏资讯!梦幻西游有这样一群玩家,他们可能从上学时就开始玩游戏,毕业工作之后比较忙,不得不先放弃游戏,等工作比较稳定,吕布放弃黄刀,拾起这件2121神器,伤害提升100,团战轻松一打三在王者荣耀中,吕布的热度一直都在T0和T1直接徘徊,深受广大玩家的喜爱。哪怕对抗路的新英雄不断崛起,依然无法动摇吕布对抗路一哥的位置。吕布能够拥有今天的地位,跟自身的优越性也是分不传奇3手游诺玛遗址的注意事项诺玛统领可以说是传奇3众多高级boss中的压轴boss,不论是寻找这个boss的路程还是击杀难度上面来说都是非常难的,有一点需要玩家记住,就是诺玛统领是在开服七天之后才会开启,想要光遇圣诞节也有差异?国际服21天,国服只有14天光遇圣诞节也有差异?国际服21天,国服只有14天前言大家好,我是喜欢玩游戏聊游戏的孟婆小叔。圣诞节活动,已经正式开启。说来也挺惨的,25号,一大早上线后,把遇境和禁阁楼顶上,先祖带弈周棋事106期云顶之弈王者阵容排行,环境骤变,斗枪登顶不知阵容与运营,弈周棋事来摆平掌控上分新风向,从此排位我最强。弈士们好!我是摩昂。云顶11。24持续了整整三周,这周阵容环境变化颇大。下面摩昂就带着大家一起来看一看11。24版本第战舰世界全球同步系列活动继续!新年之夜让你福利尽享近两周冬至圣诞元旦几乎连在了一起,有女朋友的玩家可能钱包早就哭穷了,但是另一个贵族群体可就不一样了,一边吃着饺子一边享受着游戏中的节日福利,简直是美滋滋。在全球同步系列活动中,新年荒野大镖客2每日任务攻略更新2021年12月26日常规任务1已在理发铺更新面部外观01到理发店更换一次面部外观即可2已完成莎迪阿德勒任务01地图左上角找到她接任务完成一次即可3已完成乔的任务01翡翠牧场右侧找到他接任务完成一次即可传奇3手游,1比1复刻,还原经典传奇3手游超过了传统式的画质表现,并淋漓尽致地展现了酷炫的技击感,能够带给您一个美丽超清的东方奇幻世界。手游以朝代更迭为背景,诠释新东方奇幻,重现历史以上各个朝代的盛世,与众多帝王2D像素风格射击游戏暴走机甲在AppStore限时免费领IT之家12月26日消息,目前在苹果AppStore,2D像素风格射击游戏暴走机甲限时免费下载,有兴趣的朋友不要错过。AppStore暴走机甲点此直达据介绍,暴走机甲是一款2D像素制作组摆烂玩家自己动手开发泰坦陨落2定制服务器经过数月的黑客和DDoS攻击,有时几乎无法游玩的泰坦陨落2(Titanfall2)通过一种名为Northstar的Mod获得了第二次生命,该Mod使PC玩家能够设置自己的自定义服务10款Steam冬季特卖史低游戏推荐,自爆船战术让玩家心生畏惧可能是因为圣诞节的原因,冬季特卖成为了Steam一年中力度最大的游戏促销活动。下面我就来给大家推荐10款Steam冬季特卖里面的史低价游戏,它们有些能为玩家省下几百元,是每一个玩家