路虎哥哥

导航

JS为单线程;浏览器为多线程;

JS为单线程;
 
浏览器为多线程;
 
 
通常讲到浏览器的时候,我们会说到两个引擎:渲染引擎和JS引擎。渲染引擎就是如何渲染页面,Chrome/Safari/Opera用的是Webkit引擎,IE用的是Trident引擎,FireFox用的是Gecko引擎。
 
JS引擎可以说是JS虚拟机,负责JS代码的解析和执行。通常包括以下几个步骤:
 
词法分析:将源代码分解为有意义的分词
语法分析:用语法分析器将分词解析成语法树
代码生成:生成机器能运行的代码
代码执行
 
不同浏览器的JS引擎也各不相同,Chrome用的是JS V8引擎,FireFox用的是SpiderMonkey,Safari用的是JavaScriptCore,IE用的是Chakra。
 
之所以说JavaScript是单线程,就是因为浏览器在运行时只开启了一个JS引擎线程来解析和执行JS。那为什么只有一个引擎呢?如果同时有两个线程去操作DOM,浏览器是不是又要不知所措了。
 
 
 
 
 

posted on 2022-07-26 22:47  路虎哥哥  阅读(235)  评论(0编辑  收藏  举报