浏览器内核和js引擎

作者: 麦子_FE | 来源:发表于2018-08-08 20:08 被阅读16次

浏览器内核分为两种:渲染引擎和js引擎。

渲染引擎:负责网页内容(html/xml/图像),整理讯息(例如加入css),以及网页的显示方式,内核不同,页面展示方式也不同。

js引擎:是解析javascript语言,执行js语言实现页面的动态效果。

最开始渲染引擎和js引擎并没有很严格的区分,后来js引擎越来越独立,内核则倾向于只指渲染引擎,内核的种类很多,常见的内核有四种:Trident / Gecko / Blink / Webkit


内核对比

Trident内核

俗称IE内核,老得Triden内核(Ie6)当年市场份额很大,所以大量的网页时专门为老Trident内核编写,但是这些代码并不符合w3c规范。于是符合w3c规范标准的网页在老Trident内核下出现了偏差。

之后新的Trident内核被Ie9使用,对w3c的标准支持好了很多。

相关浏览器:

ie6,ie7,ie8(Trident4.0) ie9(Trident 5.0) ie10(Trident 6.0)

世界之窗,360浏览器(Trident+chrome内核) 遨游2.0(3.0开始使用webkit内核)

Gecko内核

基于Gecko内核的浏览器并不多见,出了一些简单的改动和重新编译,深度定制的还是很少见。

相关浏览器:

fireFox

webkit内核

由khtml内核发展而来,遵守w3c标准。

相关浏览器:

safari / chrome( 以前是webkit,现在是Blink) / android 默认浏览器

Blink内核

google开发,chrome的内核是由webkit内核改为Blink内核。

相关浏览器:

chrome

js引擎

js引擎对比

js引擎执行机制

前提,请先记住两点:

1.js是单线程的。

2.js event loop 就是js引擎的执行机制。

任务队列

单线程就意味着,所有的任务需要排队处理。当前一个任务结束后,才能执行下一个任务,如果前一个任务消耗了很长时间,那下一个任务就只能一直等着。

于是

所有任务分为两种:1.同步任务。2.异步任务。

结果:1  3  2

同步任务:指的是在主线程上排队执行的任务,只有前一个任务结束,才执行下一个任务。

异步任务:不进入主线程,而是进入任务队列(task queue),只有task queue 通知主线程,某个异步任务可以执行了,才回被放到主线程执行。

js引擎执行机制如下:

(1)所有同步任务都在主线程上,形成一个执行栈。

(2) 主线程外,还有一个task queue,只要异步任务有了运行结果,就在task queue中放置一个事件。

(3)当执行栈所有同步任务之行结束后,系统会读取 task queue,看看里面有哪些事件,于是这些异步任务,结束等待状态,进入执行栈,开始执行。

(4)主线程不断重复第三步。

相关文章

  • js的补充

    浏览器分为: shell 内核 内核又分为: 渲染引擎(语法规则和渲染) JS引擎 其他模块 JS...

  • 【浏览器内核】渲染引擎、JavaScript引擎

    浏览器内核 浏览器内核 又可以分成两部分:渲染引擎 和 JS引擎。 渲染引擎 渲染引擎 主要包括: HTML 解释...

  • HTML 基础

    1浏览器内核 (渲染引擎和JS解析引擎) Trident(IE内核)IE、傲游、世界之窗浏览器、Avant、腾...

  • 浏览器内核简介

    什么是浏览器内核 浏览器引擎分为排版引擎和Js引擎两种。js引擎就是解释执行javascript的,而排版引擎就是...

  • 浏览器工作流程

    1. 浏览器内核: 浏览器内核分为两部分:渲染引擎 和 JS引擎 渲染引擎:获取网页的 html,css...

  • html学习第一天

    自学html第一天: 浏览器内核分为两种:渲染引擎和js引擎 Trident内核是Ie浏览器的内核,即微软...

  • 浏览器-JS运行机制

    一、浏览器内核类型 内核(渲染引擎)JS引擎Chromewebkit -> blinkv8FirefoxGecko...

  • 浏览器简述

    浏览器内核差异 浏览器内核主要分成两部分:渲染引擎和JS引擎; 渲染引擎:负责获取网页内容,计算网页显示方式,然后...

  • 主流浏览器的内核

    所有的浏览器都需要内核,不同的内核对网页的渲染效果不同。浏览器内核可以分成两部分:渲染引擎和 JS 引擎。...

  • 一、五大浏览器及其内核

    1. 五大浏览器 2.五大内核 3. 各个浏览器所用内核 4. 浏览器渲染引擎和js引擎

网友评论

    本文标题:浏览器内核和js引擎

    本文链接:https://www.haomeiwen.com/subject/whzxbftx.html