首頁技術文章正文

JavaScript排版引擎和JavaScript引擎介紹

更新時間:2022-04-29 來源:黑馬程序員 瀏覽量:

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

1.排版引擎

( 1) Trident

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

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

(2) EdgeHTML

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

(3) Gecko

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

(4)WebKit

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

1651224872027_搜索引擎.png

(5)Blink

Blink 是一個由Google 公司和Opera Software ASA 開發(fā)的瀏覽器排版引擎,Google公司將這個引擎作為開源瀏覽器Chromium項目的一部分。Blink是WebKit中 WebCore組件的一個分支,并且在Chrome(28及后續(xù)版本)、Opera(15及后續(xù)版本)等瀏覽器中使用。目前國內(nèi)大部分瀏覽器都采用了WebKit或Blink內(nèi)核,一些雙核瀏覽器將其作為“急速模式”的內(nèi)核。在移動設備中,iPhone和iPad等蘋果iOS平臺使用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項目中的一個JavaScript引擎,主要用于Firefox瀏覽器。其后又發(fā)布了TraceMonkey、JaegerMonkey、lonMonkey、OdinMonkey等改進版引擎,提高了性能。

(3)Rhino

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

( 4 ) JavaScriptCore

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

(5)V8

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







猜你喜歡:

瀏覽器的兼容性問題【前端工程師面試】

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

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

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

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

分享到:
在線咨詢 我要報名
和我們在線交談!