当前位置: 首页 > news >正文

中国建设银行互联网网站网站设计培训

中国建设银行互联网网站,网站设计培训,做推广的网站带宽需要多少合适,wordpress 短信验证码闭包1、闭包是什么?2、闭包可以解决什么问题?3、闭包的缺点1、闭包是什么? 闭包是一个函数加上到创建这个函数的作用域的链接,就是一个作用域可以访问到另一个作用域的变量,闭包‘关闭’了函数的自由变量 function f…

闭包

  • 1、闭包是什么?
  • 2、闭包可以解决什么问题?
  • 3、闭包的缺点

1、闭包是什么?

闭包是一个函数加上到创建这个函数的作用域的链接,就是一个作用域可以访问到另一个作用域的变量,闭包‘关闭’了函数的自由变量

function fun(){var a = 10;console.log( a )
}
fun()

函数都有垃圾回收机制,上面的这个函数,在运行完之后变量a就被回收了,但是下面的函数:


function fun(){var a = 10;return function () { console.log( a )}
}
fun()()

执行完之后变量a并没有被回收,原因是如果被回收了,打印a是会报错的。

那这是为什么呢?
闭包关闭了函数的自由变量,也就是变量不会被回收。

2、闭包可以解决什么问题?

能够完成同步任务与事件循环任务之间传递参数

看下面的例子:

var lis = document.getElementsByTagName('li')
for(var i = 0;i < lis.length;i ++){lis[i].onclick = function(){alert(i)}
}

1、先执行同步任务,i=4
2、执行事件循环,所以alert的i始终是4


var lis = document.getElementsByTagName('li')
for(var i = 0;i < lis.length;i ++){(function (i) { lis[i].onclick = function(){alert(i)}})(i)
}

1、使用闭包传值
2、成功实现每次打印出正确的i

3、闭包的缺点

1、变量会驻留在内存中,造成内存损耗问题。
解决方式:把闭包的函数设置为null,如何设置呢,看下面:

var lis = document.getElementsByTagName('li')
for(var i = 0;i < lis.length;i ++){(function (i) { lis[i].onclick = function(){alert(i)}lis[i] = null})(i)}

2、内存泄漏(ie) ==>可说可不说,如果说一定要提到ie浏览器,因为火狐、chrome浏览器都不会造成这个问题

http://www.ds6.com.cn/news/40736.html

相关文章:

  • 门户网站栏目建设注册网站流程
  • 深圳做网站价格金戈枸橼酸西地那非片
  • 云手机网站页面优化包括
  • wordpress 插件 扫描济南seo网站优化
  • ps做网站首页步骤北京网络推广有哪些公司
  • 网站搭建培训友情链接免费发布平台
  • 网站连接数据库失败怎么办北京seo外包公司要靠谱的
  • 网站开发网站建设公司网站页面布局和样式设计
  • 企业网站建设公司哪家好免费网站生成器
  • 宁波大型网站制作做网站建网站公司
  • 做外贸网站进行销售 需要纳税吗爱站网长尾挖掘工具
  • 开发软件的网站建站小程序
  • 沈阳做微网站seo营销外包公司
  • 国外中文网站域名注册商企业查询平台
  • 高端集团响应式企业网站模板网络营销推广专员
  • 自动采集网站php源码成都seo优化外包公司
  • 十堰外贸网站建设网站推广策划思路
  • 网页制作素材1001无标题seo网络培训班
  • 推广网站都有哪些北京seo排名公司
  • 网站域名包括百度搜索资源平台提交
  • 即墨专业医院网站制作公司企业网站建设方案策划书
  • 做ps找图的网站有哪些怎么注册自己的网站
  • 怎么查询网站的设计公司品牌运营管理公司
  • 服务号不认证可做微网站吗seo网络推广优化
  • 备案期间 网站自己可以做网站吗
  • 好的网站 具备网站如何优化推广
  • 网站可以免费看西安网站制作价格
  • 漳州 外贸网站建设 SEO洛阳网站建设
  • wordpress 复制提示什么是白帽seo
  • 临沂网站制作方案网站关键词排名优化软件