1. 首页
  2. IT资讯

一道关于JavaScript事件循环的题,了解一下

“u003Cdivu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F2bbcb1d706554a84841befd4743fa38e” img_width=”830″ img_height=”424″ alt=”一道关于JavaScript事件循环的题,了解一下” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E接这个系列的上一篇文章,u003Ca class=”pgc-link” href=”https:u002Fu002Fwww.toutiao.comu002Fi6630188967348142606u002F?group_id=6630188967348142606″ target=”_blank”u003E搞懂这道题,以后遇到回调深坑的面试不要慌u003Cu002Fau003E,我们来看看下一个问题:u003Cu002Fpu003Eu003Cpreu003EsetTimeout(()=>{u003Cbru003E console.log(“A”)u003Cbru003E},1000);u003Cbru003Eu003Cbru003Elet now = Date.now();u003Cbru003Eu003Cbru003Ewhile(Date.now()-now<5000){}u003Cbru003Eu003Cbru003EsetTimeout(()=>{u003Cbru003E console.log(“B”);u003Cbru003E},1000);u003Cbru003Eu003Cbru003Econsole.log(“C”);u003Cbru003Eu003Cu002Fpreu003Eu003Cpu003E上面的代码在浏览器环境中执行后,输出的结果是什么?u003Cu002Fpu003Eu003Ch1u003E分析u003Cu002Fh1u003Eu003Cpu003E代码中的while循环很容易给人误导,可能有人会认为:u003Cu002Fpu003Eu003Cpu003E代码在这个while循环等待5秒中才继续往下执行,这时上面的等待1秒计时器的时间已经到了,所以顺序会是 A->B->C,如果你也是这样认为的,那说明你对JavaScript的事件循环还不了解,建议多去看看相关的文章。u003Cu002Fpu003Eu003Cpu003E其实在这里,只需要明白一点:JS在开启一个新的事件循环之前,都要先执行完同步的代码,u003Cu002Fpu003Eu003Cpu003E所以上面代码的执行结果应该是 C->A->Bu003Cu002Fpu003Eu003Cu002Fdivu003E”

原文始发于:一道关于JavaScript事件循环的题,了解一下

主题测试文章,只做测试使用。发布者:℅傍ㄖ免沦陷dε鬼,转转请注明出处:http://www.cxybcw.com/11222.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code