文库网
ImageVerifierCode 换一换
首页 文库网 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

js闭包的理解以及作用.docx

  • 资源ID:3926427       资源大小:128.81KB        全文页数:3页
  • 资源格式: DOCX        下载积分:5文币
微信登录下载
快捷下载 游客一键下载
账号登录下载
三方登录下载: QQ登录 微博登录
二维码
扫码关注公众号登录
下载资源需要5文币
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

js闭包的理解以及作用.docx

1、JS闭包1.闭包每次看到jQuery的时候,首先想到的就是闭包。这是个常谈的问题了。今天重新回忆了一下闭包。什么是闭包?当有一个函数想要访问另一个函数内部的变量,这个是访问不了的。所有我们要用闭包来访问。所以简单的来说,闭包就是连接函数内部和外部的一座桥梁,通过闭包我们能够访问其他函数内部的变量1.1作用域 想了解闭包,首先要知道作用域。最简单来说:全局变量和局部变量。全局变量(Global variable):可以在脚本的任何位置被引用。 局部变量(Local variable):只存在于声明它的那个函数的内部,这个函数之外是无法引用的。 使用var声明的变量在当前作用域里面才起作用,未使用

2、var申明的变量,不管在任何地方声明的,都是全局变量。用var声明的变量不一定是局部变量1.2闭包的作用 闭包最大的作用就是全局变量私有化。在上面讲过闭包能够访问其他函数内部的变量,还有一个就是能后永久的把一个变量保存在当前作用域中。不会随着函数调用完之后会被JavaScript特有的垃圾回收机制回收。2-1.案例本文我们以闭包两种的主要形式来学习 函数作为返回值在这段代码中,a()中的返回值是一个匿名函数,这个函数在a()作用域内部,所以它可以获取a()作用域下变量name的值,将这个值作为返回值赋给全局作用域下的变量b,实现了在全局变量下获取到局部变量中的变量的值2-2再来看一个闭包的经典

3、例子一般情况下,在函数fn执行完后,就应该连同它里面的变量一同被销毁,但是在这个例子中,匿名函数作为fn的返回值被赋值给了fn1,这时候相当于fn1=function()var n = 0 . ,并且匿名函数内部引用着fn里的变量num,所以变量num无法被销毁,而变量n是每次被调用时新创建的,所以每次fn1执行完后它就把属于自己的变量连同自己一起销毁,于是乎最后就剩下孤零零的num,于是这里就产生了内存消耗的问题3-1最后总结一下闭包的好处与坏处好处保护函数内的变量安全 ,实现封装,防止变量流入其他环境发生命名冲突在内存中维持一个变量,可以做缓存(但使用多了同时也是一项缺点,消耗内存) 匿名自执行函数可以减少内存消耗坏处其中一点上面已经有体现了,就是被引用的私有变量不能被销毁,增大了内存消耗,造成内存泄漏,解决方法是可以在使用完变量后手动为它赋值为null; 其次由于闭包涉及跨域访问,所以会导致性能损失,我们可以通过把跨作用域变量存储在局部变量中,然后直接访问局部变量,来减轻对执行速度的影响


注意事项

本文(js闭包的理解以及作用.docx)为本站会员(明湖)主动上传,文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文库网(点击联系客服),我们立即给予删除!




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

文库网用户QQ群:731843829  微博官方号:文库网官方   知乎号:文库网

Copyright© 2025 文库网 wenkunet.com 网站版权所有世界地图

经营许可证编号:粤ICP备2021046453号   营业执照商标

1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png