首先确定JS是一门脚本语言,他的执行顺序是从上到下逐行执行的,浏览器只有一个javascript引擎,所以浏览器同事只能执行一个任务,那么异步操作的实现原理是什么呢?
浏览器的javascript引擎确实是单线程的,但是浏览器本身是多线程的,浏览器包含
- javascript引擎线程
- 界面渲染线程
- 浏览器事件触发线程
- Http请求线程
所以出发异步操作的时候,会有单独的线程去做操作,javascript引擎线程不会受到阻塞,依然继续解析js代码。
首先确定JS是一门脚本语言,他的执行顺序是从上到下逐行执行的,浏览器只有一个javascript引擎,所以浏览器同事只能执行一个任务,那么异步操作的实现原理是什么呢?
浏览器的javascript引擎确实是单线程的,但是浏览器本身是多线程的,浏览器包含