猿问

关于setTimeout与箭头函数的问题的

setTimeout(() => {


    console.log('2');

},5000);


while (true) {

    console.log('1');

}

不是很理解。。。这个为什么会输出1。。而且还卡死了。。。


潇湘沐
浏览 903回答 1
1回答

慕仙森

首先要说明的是,js引擎会先执行完所有同步代码,再执行异步回调代码,也就是说首先会开启定时器,然后执行while,而你给的while (true) {    console.log('1');}是一个死循环,永远是true是不会跳出循环的,那么同步代码就不会结束,所以异步回调(计时器里的代码)就不会执行,并且js引擎会卡死
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答