首頁(yè)技術(shù)文章正文

JavaScript排版引擎和JavaScript引擎介紹

更新時(shí)間:2022-04-29 來(lái)源:黑馬程序員 瀏覽量:

面對(duì)市面上眾多的瀏覽器,開發(fā)人員如何掌控程序的兼容性呢?實(shí)際上,許多瀏覽器都使用了相同的內(nèi)核,了解其內(nèi)核就能對(duì)瀏覽器有一個(gè)清晰的歸類。瀏覽器內(nèi)核分成兩部分:排版引擎和JavaScript引擎。排版引擎負(fù)責(zé)將取得的網(wǎng)頁(yè)內(nèi)容(如HTML、CSS等)進(jìn)行解析和處理,然后顯示到屏幕中。JavaScript引擎用于解析JavaScript語(yǔ)言,通過(guò)執(zhí)行代碼來(lái)實(shí)現(xiàn)網(wǎng)頁(yè)的交互效果。下面分別介紹一些常見(jiàn)的排版引擎和JavaScript引擎。

1.排版引擎

( 1) Trident

Trident是Intemet Explorer(IE)瀏覽器使用的引擎。Trident在Windows 操作系統(tǒng)中被設(shè)計(jì)為一個(gè)功能模塊,使得其他軟件的開發(fā)人員可以便捷地將網(wǎng)頁(yè)瀏覽功能加入到其開發(fā)的應(yīng)用程序里。

國(guó)內(nèi)很多的雙松”覽器提供了“兼容模式”,該模式便是使用了Trident引擎。其代表軟件有遨游、世界之窗、QQ瀏覽器、獵豹安全瀏覽器、360安全瀏覽器、360極速瀏覽器等。

(2) EdgeHTML

微軟公司在Windows 10操作系統(tǒng)中提供了一個(gè)新的瀏覽器Microsoft Edge,其最顯著的特點(diǎn)是使用了新引擎EdgeHTML。EdgeHTML在速度方面有了極大的提升,在Trident基礎(chǔ)上刪除了過(guò)時(shí)的舊技術(shù)支持代碼,增加了許多對(duì)現(xiàn)代瀏覽器的技術(shù)支持。

(3) Gecko

Gecko是Mozilla FireFox(火狐瀏覽器)使用的引擎,其特點(diǎn)是源代碼完全公開,可開發(fā)程度很高,全世界的程序員都可以為其編寫代碼、增加功能。Gecko原本是由網(wǎng)景公司開發(fā)的,現(xiàn)在由Mozilla基金會(huì)維護(hù)。Gecko是跨平臺(tái)的,支持在Windows、Linux和macOS等操作系統(tǒng)上運(yùn)行。

(4)WebKit

WebKit是一個(gè)開放源代碼的瀏覽器引擎,其所包含的WebCore排版引擎和JavaScriptCore引擎來(lái)自于KDE項(xiàng)目組的KHTML和KJS。蘋果公司采用了KHTML作為開發(fā)Safari 瀏覽器的引擎后,衍生出了WebKit引擎,并按照開源協(xié)議開放了 WebKit的源代碼。WebKit具有高效穩(wěn)定、兼容性好、源碼結(jié)構(gòu)清晰、易于維護(hù)的特點(diǎn)。Google Chrome 瀏覽器也普經(jīng)使用過(guò)WebKit引擎。

1651224872027_搜索引擎.png

(5)Blink

Blink 是一個(gè)由Google 公司和Opera Software ASA 開發(fā)的瀏覽器排版引擎,Google公司將這個(gè)引擎作為開源瀏覽器Chromium項(xiàng)目的一部分。Blink是WebKit中 WebCore組件的一個(gè)分支,并且在Chrome(28及后續(xù)版本)、Opera(15及后續(xù)版本)等瀏覽器中使用。目前國(guó)內(nèi)大部分瀏覽器都采用了WebKit或Blink內(nèi)核,一些雙核瀏覽器將其作為“急速模式”的內(nèi)核。在移動(dòng)設(shè)備中,iPhone和iPad等蘋果iOS平臺(tái)使用Webkit內(nèi)核;Android 4.4之前的Android系統(tǒng)瀏覽器內(nèi)核是Webkit,在Android 4.4系統(tǒng)中更改為Blink。


2.JavaScript引擎

(1)Chakra

Chakra是微軟公司在E9~11、Microsoft Edge等瀏覽器中使用的JavaScript 引擎。目前,該引擎的核心部分已經(jīng)開源,其開源版本稱為ChakraCore COn。

(2) SpiderMonkey

SpiderMonkey是Mozilla項(xiàng)目中的一個(gè)JavaScript引擎,主要用于Firefox瀏覽器。其后又發(fā)布了TraceMonkey、JaegerMonkey、lonMonkey、OdinMonkey等改進(jìn)版引擎,提高了性能。

(3)Rhino

Rhino是Mozilla項(xiàng)目中的一個(gè)使用Java語(yǔ)言編寫的JavaScript引擎,它被作為Java SE6上的默認(rèn)JavaScript引擎,主要用于為Java執(zhí)行環(huán)境提供JavaScript的支持。

( 4 ) JavaScriptCore

JavaScriptCore 是蘋果在 Safari 瀏覽器使用的JavaScript 引擎。

(5)V8

V8是Google為Chrome瀏覽器開發(fā)的JavaScript引擎,具有較快的執(zhí)行速度。V8非常受歡迎,其他一些軟件也整合了V8引擎,如Node.js。







猜你喜歡:

瀏覽器的兼容性問(wèn)題【前端工程師面試】

Web開發(fā)者怎樣兼顧多個(gè)版本的瀏覽器?

瀏覽器內(nèi)核是什么?如何檢測(cè)瀏覽器內(nèi)核?【web前端須知】

javascript開發(fā)工具有哪些?

黑馬程序員web開發(fā)工程師培訓(xùn)

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!