事件循环

先来一张图


下面上写的代码,在看浏览器的主线程的执行情况


再来上主线程页面初始化加载时的情况


setInterval在html解析的时候已经到了线程池了。下面的timer就是在自动循环,执行第一张图的事件循环

在来张点击事件和setInterval在一起的线程图


上面的截图都是浏览器主线程的情况,setInterval和点击事件回调,都是先到线程池,等待主线程的调用,根据先进先出的原则在主线程中执行。

根据主线程的情况来看,点击事件(我说的点击事件是不算回调函数的)是同步执行的,回调函数是异步。如果页面内有js不断循环执行,并且不让页面崩溃,完全可以阻塞整个页面的所有交互.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容