星空网 > 软件开发 > Java

javascript单线程的理解

 

大家都知道javascript是单线程执行的,但是浏览器又提供了setTimeout 和setInterval方法来模拟启动一个线程,来实现计时调用某个方法的功能。

这是如何实现的呢,浏览器是如何调用的呢,下面就来分析下,请看下面一段代码 

<html>  <body>  <script type="text/javascript">    function printHello()    {      console.time("hello");    }    function printHello1()    {      console.timeEnd("hello");    }    setTimeout(printHello,1000);    setTimeout(printHello1,5000);    function wait(time)    {      var now = Date.now();      while(Date.now() - now < time)      {      }    }    wait(5000);  </script>  </body></html>

以上代码得执行结果为

hello: 0.124ms

printHello 与printHello1几乎是同时执行的。

其实printHello和printHello1都是回调函数,javascript主线程执行完主逻辑后,才会执行setTimeout中的函数逻辑

 




原标题:javascript单线程的理解

关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

加拿大注册商标需要多少费用?:https://www.kjdsnews.com/a/1388030.html
加拿大注册商标费用攻略:https://www.kjdsnews.com/a/1388031.html
加拿大注册商标的费用收费标准汇总:https://www.kjdsnews.com/a/1388032.html
同一主题下的中国商标和美国商标有何不同?:https://www.kjdsnews.com/a/1388948.html
华为品牌注册商标的侵权行为及其防范:https://www.kjdsnews.com/a/1388949.html
医疗器械商标注册流程指南:https://www.kjdsnews.com/a/1388950.html
昆明旅游索道公司 昆明旅游索道公司有哪些:https://www.vstour.cn/a/406243.html
太仓美食网(探寻太仓最美味的美食):https://www.vstour.cn/a/406244.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流