面试题之异步、闭包、作用域

<script>function func() {for(var i=0; i<3; i++) {setTimeout(()=>{console.log(i)}, 1000)}}var result = func()
</script>
//  执行结果是 打印三次 3

原因:
1、setTimeout是异步执行,每1000ms往宏任务中仍一个任务,而这个任务的执行时间是等所有的微任务都执行之后才会执行。
2、for循环执行一次,往宏任务中添加一个任务,但是并不执行,for循环了三次,往宏任务队列中添加了三个setTimeout,所以打印了三次,当最后一次的时候,i=2,i++,所以i变成了3。
3、所以最后输出三次 3

function func() { for(var i=0; i<3; i++) { setTimeout(()=>{ consol相关推荐

  1. 这就是我为什么推荐使用var aa = for (var i = 0, l = aa.length; i < l; i++) {var a = aa[i];}循环的原因,每秒最快可以执行4000+次!

    //很长一段时间我都只使用以下方式做数组循环,具体原因看数据 var aa = for (var i = 0, l = aa.length; i < l; i++) { var a = aa[i ...

  2. 下面程序段的运行结果是: for(y=1;y<10;) y=((x=3*y,x+1),x-1); printf(“x=%d,y=%d“,x,y); A)x=27,y=27 B)x=12,y=

    下面程序段的运行结果是: for(y=1;y<10;) y=((x=3*y,x+1),x-1); printf("x=%d,y=%d",x,y); A)x=27,y=27 B ...

  3. 如何将var str = “[[[0,32],[3,2],[2,1]]]“;转为数组arr=[[[0,32],[3,2],[2,1]]]?

    问题1:如何将var str = "[[[0,32],[3,2],[2,1]]]";转为数组arr=[[[0,32],[3,2],[2,1]]]: 问题1.1:为什么可以JSON. ...

  4. python字典没有长度限制_python-字典更新序列元素#0的长度为15; 2个为必填项

    我正在将python / django应用程序从1.6.5升级到1.7.我在解决以下错误时遇到麻烦:字典更新序列元素#0的长度为15: 2个为必填项 这是回溯输出: Request Method: G ...

  5. java中输出a个b_下面代码输出什么 ( ) var a=0,b=0; for(;a10,b7;a++,b++){ g=a+b; } console.log(g);_学小易找答案...

    [单选题]Java Script 函数说法正确的是 () [单选题]阅读下面的 Javascript 代码 , 输出结果正确的是( ) var i=0; for(i=0;i<=5;i++){ i ...

  6. C语言练习题,编写程序实现以下功能。从键盘输入一个整数,若输入数字0,则屏幕显示:“Sunday“;若输入数字1,则屏幕显示:“Monday“;若输入数字2,则屏幕显示:“Tuesday“;若输入数字

    编写程序实现以下功能.从键盘输入一个整数,若输入数字0,则屏幕显示:"Sunday":若输入数字1,则屏幕显示:"Monday":若输入数字2,则屏幕显示:&q ...

  7. 奥利奥0糖系列全网首发;雀巢芭绮率先入驻哈尔滨;疫情后红参需求大幅上升...

    雀巢.每日优鲜.奥利奥.韩国人参公社.美国流行威士忌酩帝诗等企业最新动态. 新店开业 雀巢旗下巧克力品牌芭绮正式进入中国 雀巢宣布在哈尔滨中央大街开设意式甜品店,为广大消费者提供意大利国宝级巧克力品牌 ...

  8. C语言 exit 0;与exit 1;return 0;return1

    exit 0:与exit 1:进程退出 exit 0:正常退出 exit 1:异常退出 return 0:与return 1:函数退出 return 0:正常退出 return 1:异常退出

  9. 微信小程序通讯录功能;uni-app微信小程序通讯录单选;uni-app微信小程序通讯录多选;uni-app微信小程序通讯录好友功能;uni-indexed-list使用;通讯录高度修改;

    介绍:项目使用的是uni-app做的微信小程序:uni-app里原来就用一个组件uni-indexed-list,是用来做通讯录的:可以直接看官方案例也就是hello-uniapp-master下的导 ...

最新文章

  1. node.js express php,nodejs开发——express路由与中间件
  2. java1.5多线程_【Java多线程】JDK1.5并发包API杂谈
  3. 5、删除被其它表关联的主表
  4. linux ftp下载文件_Linux系统中10个使用Wget命令下载文件示例
  5. SQL语句操作大全(本文系转载)
  6. 阿里巴巴云原生大数据运维平台 SREWorks 正式开源
  7. 机器学习基石作业一中的PLA和POCKET_PLA实现
  8. 移动端 GPU 推理性能提升 2 倍!TensorFlow 推出新 OpenCL 后端
  9. 文本分类(一)封装分词器
  10. 国庆通知:地球不爆炸,CSDN 不放假!
  11. Wannafly挑战赛27: E. 黄魔法师(构造)
  12. 华为手机刷机功能总结
  13. C语言也能干大事第十三节(如鹏基础)
  14. 简单3小步,轻松搞定PS证件照换底色(有手就行)
  15. 【DG】在Linux平台上搭建单实例的dataguard--duplicate
  16. 解密weblogic控制台账号密码
  17. 计算机的集成显卡是什么意思,IGD、PEG、PCI的含义,我的电脑是集成显卡该选哪一项...
  18. java正则表达式 位置_正则表达式(一)—位置锚定
  19. 2021年衡水中学高考成绩查询,2016年衡水中学高考成绩出炉
  20. MAT之SA:T1编写主函数法和T2Matlab自带的SA工具箱GUI法,两种方法实现对二元函数优化求解

热门文章

  1. 两码一号(九):业务监控
  2. 这个Excel函数,推荐所有人学习!HR都说必须会
  3. 【软件测试】测试人,我们35岁焦虑怎样破?
  4. 让人寒心,义工丛飞资助的是一群白眼狼?
  5. OpenGL学习(1)
  6. 通达信日线数据转换为feather格式,提高后续数据处理速度
  7. vscode 自定义字体样式_vscode md样式自定义
  8. 社群运营的用户画像分析有哪些方法?
  9. win激活时错误0xc0000022
  10. matlab 渐变色