setTimeout(fn,0)
我们都知道setTimeout是一个延迟执行的函数
console.log(1);
setTimeout(function(){console.log(2);},1000);
console.log(3);
会得到1,3,2
但是
setTimeout(function(){console.log(1);}, 0);
console.log(2);
你知道这段代码会执行什么样的效果吗
正确答案是2,1
一开始我也很疑惑,
setTimeout(function(){console.log(1);}, 0);不是隔了0秒就执行嘛,就是立即执行的意思啊,那就是应该答案是1,2呀
但是答案不是这样的
听阮一峰大神的解释
setTimeout(fn,0)的含义是指定某个人物在主线程最早可得的空闲时间执行,也就是说,尽可能早的执行。它在任务队列的尾部添加一个事件,因此要等到同步人物和任务队列现有的事件都处理完,才会得到执行
更多专业前端知识,请上 【猿2048】www.mk2048.com
setTimeout(fn,0)相关推荐
- settimeout(fn(),0)
settimeout(fn(),0) 总所周知,settimeout 函数是用来做延时的,如 settimeout(()=>{console.log('show content')},1000) ...
- 【 js 基础 】【 源码学习 】 setTimeout(fn, 0) 的作用
在 zepto 源码中,$.fn 对象 有个 ready 函数,其中有这样一句 setTimeout(fn,0); 1 $.fn = { 2 ready: function(callback){ 3 ...
- JavaScript下的setTimeout(fn,0)的作用,涨知识了
单线程的javascript 首先我们来看浏览器下的JavaScript: 浏览器的内核是多线程的,它们在内核制控下相互配合以保持同步,一个浏览器至少实现三个常驻线程:javascript引擎线程,G ...
- JavaScript下的setTimeout(fn,0)意味着什么?
近期在研究异步编程的我对于setTimeout之类的东西异常敏感.在SegmentFault上看到了一个问题<关于SetTimeout时间设为0时>:提问者读了一篇文章,原文解释setTi ...
- setTimeout延时0毫秒的作用
经常看到setTimeout延时0ms的javascript代码,感到很迷惑,难道延时0ms和不延时不是一个道理吗?后来通过查资料以及实验得出以下两个作用 1.实现javascript的异步: 正常情 ...
- setTimeout(function(){}, 0);
1 for (var i = 0; i < 3; i++) { 2 setTimeout(function() { 3 console.log(i); 4 }, 0); 5 console.lo ...
- 为什么setTimeout(fn,0)有时有用?
我最近遇到了一个令人讨厌的错误,该错误代码是通过JavaScript动态加载<select> . 动态加载的<select>具有预先选择的值. 在IE6中,我们已经有代码来修复 ...
- vue2.0读书笔记2-进阶
一.深入响应式原理 二.过渡效果 三.过渡状态 四.Render函数 五.自定义指令 六.混合 七.插件 八.单文件组件 九.生产环境 十.路由 vue-router: http://router.v ...
- js的事件循环机制:同步与异步任务(setTimeout,setInterval)宏任务,微任务(Promise,process.nextTick)...
javascript是单线程,一切javascript版的"多线程"都是用单线程模拟出来的,通过事件循环(event loop)实现的异步. javascript事件循环 事件循环 ...
最新文章
- 简书非官方大数据(一)
- DeepBrain 李传丰:当语义技能商店应用达到百万量级的时候,语音交互时代才会真正成熟 | WARE 2017
- java转json jar包_java转换json需导入的jar包说明
- HDFS NameNode重启优化
- 走进英特尔中国研究院探索创新日:发布最新科研成果与创新策略
- Android开发之广播
- 清除用友所有单据锁定的SQL语句
- 邪恶力量第一至九季/全集Supernatural迅雷下载
- 暴风影音去广告补丁NSIS代码开放
- 计算机四级题库百度云,四级题库免费
- 英语期刊写作-通往国际学术舞台的阶梯第六章答案
- Borůvka algorithm
- proteus常用元件图示和名称介绍
- 华为云跨服务器传输文件,与云服务器传输文件
- Zookeeper——3、使用zkClient操作zookeeper
- 机器学习隐私保护-MPC通用编译器
- Linux管理账号详解
- 读米老师的《人际关系要全面》有感
- 使用cpolar发布群晖NAS上的网页(1)
- 墨刀素材学堂开学啦!你要的优质素材都在这里
热门文章
- 【MFC系列-第25、26天】绘图软件
- Java面向对象(19)--抽象类与抽象方法abstract
- windows server 驱动精灵_还在用Windows文件共享?我来教你一键摆脱Windows海量小文件使用和备份的噩梦...
- 问题 1047: [编程入门]报数问题
- [暑假集训Day4T3]曲线
- AliOS-Things Visual studio code helloworld 入门
- 【原创】jpgraph中文乱码问题的解决
- Oracle用 odp.net 时出现 Oracle.DataAccess.Client.OracleConnection的类型初始值设定项引发异常 问题的解决...
- 这个夏天,感动我的歌,感动我的你
- 解释型语言和编译型语言的区别