浅析javascript异步执行函数导致的变量变化问题解决思路


Posted in Javascript onMay 13, 2016

浅析javascript异步执行函数导致的变量变化问题解决思路

for(var i=0;i<3;i++)
{
   setTimeout(function(){
     console.log(i)
  },0);
}

控制台输出:
3
3
3

这是因为执行方法的时候for循环已经执行完成每次执行的时候取得都是3 而不是1-2-3这时我们可以使用立即执行函数为每一次循环创建一个变量副本来供定时器调用解决这个问题

for (var i = 0; i < 3; i++) {
      setTimeout(
      (function () {
        var _i = i;
        return function () {
          console.log(_i)
        };
      })(),
     0);
    }

控制台输出:
1
2
3

以上这篇浅析javascript异步执行函数导致的变量变化问题解决思路就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript定义类或函数的几种方式小结
Jan 09 Javascript
jquery实现加载等待效果示例
Sep 25 Javascript
基于Jquery实现键盘按键监听
May 11 Javascript
jQuery中clearQueue()方法用法实例
Dec 29 Javascript
js实现Select头像选择实时预览代码
Aug 17 Javascript
jquery attr()设置和获取属性值实例教程
Sep 25 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
Sep 10 Javascript
vue实现分页组件
Jun 16 Javascript
JavaScript在web自动化测试中的作用示例详解
Aug 25 Javascript
jQuery操作元素的内容和样式完整实例分析
Jan 10 jQuery
vue移动端下拉刷新和上滑加载
Oct 27 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
Nov 07 Javascript
Javascript基础之数组的使用
May 13 #Javascript
JS判断图片是否加载完成方法汇总(最新版)
May 13 #Javascript
BootStrap扔进Django里的方法详解
May 13 #Javascript
JavaScript重载函数实例剖析
May 13 #Javascript
JS加载iFrame出现空白问题的解决办法
May 13 #Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
May 13 #Javascript
JS iFrame加载慢怎么解决
May 13 #Javascript
You might like
php smarty模版引擎中的缓存应用
2009/12/11 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
PHP实现搜索时记住状态的方法示例
2018/05/11 PHP
javascript时间函数大全
2014/06/30 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
JQuery ZTree使用方法详解
2017/01/07 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
2017/10/14 jQuery
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
Python实现Mysql数据库连接池实例详解
2017/04/11 Python
Django与JS交互的示例代码
2017/08/23 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
Django shell调试models输出的SQL语句方法
2019/08/29 Python
keras中的backend.clip用法
2020/05/22 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
CSS3自定义滚动条样式的示例代码
2017/08/21 HTML / CSS
美国专注于健康商品的网站:eVitamins
2017/01/23 全球购物
Lou & Grey美国官网:主打舒适性面料服饰
2017/12/21 全球购物
Janie and Jack美国官网:GAP旗下的高档童装品牌
2019/09/09 全球购物
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
演讲稿祖国在我心中
2014/05/04 职场文书
关于安全的演讲稿
2014/05/09 职场文书
任命书怎么写
2014/06/04 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
民事申诉状范本
2015/05/20 职场文书
Rhit高效可视化Nginx日志查看工具
2021/11/01 Servers