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,浏览器是不是又要不知所措了。
 
 
 
 
 

原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/277205.html

(0)
上一篇 2022年7月27日
下一篇 2022年7月27日

相关推荐

发表回复

登录后才能评论