为了账号安全,请及时绑定邮箱和手机立即绑定

执行如下代码,我的电脑上是1,4,2,3 谁可以讲讲js是如何执行异步的,纠结?

执行如下代码,我的电脑上是1,4,2,3 谁可以讲讲js是如何执行异步的,纠结?

蓝志 2017-10-25 14:44:25
 如果大于1毫秒就是打印1,4,3,2 <script type="text/javascript"> function printing() {    console.log(1);    setTimeout(function() { console.log(2); }, 1);    setTimeout(function() { console.log(3); }, 0);    console.log(4); } printing(); </script>
查看完整描述

1 回答

已采纳
?
牛奶老哥哥

TA贡献204条经验 获得超92个赞

这个例子很不好啊,1毫秒这个太小了,按理说console.log(3)是先打印的,但是由于时间太短,解析代码也需要耗时,导致出现了偏差。。。

查看完整回答
反对 回复 2017-10-25
  • 蓝志
    蓝志
    是啊 不清楚为什么会出现这个情况 是电脑运行问题吗还是其他原因
  • 牛奶老哥哥
    牛奶老哥哥
    代码毕竟是要从上到下解析处理的嘛,浏览器解析代码也要时间啊,这就是因为时间太小的原因,所以大概有这些问题吧。
  • 蓝志
    蓝志
    老师回复说,如果太小的毫秒数(1毫秒)会被默认为0的,这就解释了为什么会出现这样的情况。
点击展开后面4
  • 1 回答
  • 0 关注
  • 1300 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信