如何解决js中for循环输出i为同一值的问题

这篇文章主要介绍如何解决js中for循环输出i为同一值的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

柳林网站建设公司创新互联公司,柳林网站设计制作,有大型网站制作公司丰富经验。已为柳林近1000家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的柳林做网站的公司定做!

1、最近开发中遇到一个问题,为什么每次输出都是5,而不是点击每个p,就alert出对应的1,2,3,4,5。

代码如下:

  
  
  
闭包演示 
  
  

1

  

2

  

3

  

4

  

5

  window.onload=function() {    var ps = document.getElementsByTagName("p");    for( var i=0; i    

此时点击任意p弹出的都是5

出现原因:js事件处理器在线程空闲时间不会运行,导致最后运行的时候输出的都是i最后的值,即:5

2、解决办法:使用闭包将变量i的值保护起来。

//sava1:加一层闭包,i以函数参数形式传递给内层函数 
 for( var i=0; i

以上是“如何解决js中for循环输出i为同一值的问题”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


本文名称:如何解决js中for循环输出i为同一值的问题
文章地址:http://azwzsj.com/article/jccejd.html