对浏览器端javaScript运行机制的理解
浏览器端javaScript运行机制的理解 线程 同步异步 Event-Loop 线程 Javascript语言的执行环境是"单线程"(single thread)。所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。而Javascript运行在浏览器上,然而浏览器内核是多线程的,它包含以下几个线程: GUI 渲染线程 JavaScript引擎线程 定时触发器线程 事件触发线程 异步http请求线程 我们平时使用到最多的就是GUI 渲染线程,JavaScript引擎线程,异步http请求线程。 同步异步 浏览器端能够异步主要还是因为Event-Loop这个默默的在幕后执行。 1.同步 同步,也就是JavaScript在执行的时候是按照顺序执行,前一个任务执行完毕之后才会执行下一个任务。因此当遇到比较耗时的任务时,就是使得后边的任务长时间的等待,例如当浏览器端执行一段耗时js代码,就会使得浏览器假死。因此对于这种情况就需要将耗时的任务异步执行,不阻塞其他非耗时任务的执行。 2.异步 异步,简单说就是,将耗时任务放入其他线...