免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

JavaScript引擎工作原理

 好程序員IT 2020-07-29

  好程序員web培訓(xùn)分享JavaScript引擎工作原理,JavaScriptWeb前端人員必須要掌握的知識點之一,也是一門高級語言。最初JavaScript只是在Web瀏覽器中運行,隨著Node的出現(xiàn),JavaScript也可以在服務(wù)端運行。

  下面給大家講解一下JavaScript引擎工作原理。

  JavaScript引擎是什么?

  JavaScript引擎是一種用于將我們的代碼轉(zhuǎn)換為機(jī)器可讀語言的引擎。如果沒有JavaScript引擎,你編寫的代碼對計算機(jī)來說簡直是一堆“胡言亂語”。不僅僅是JavaScript,其他所有編程語言都需要一個類似的引擎,來將這些“胡言亂語”轉(zhuǎn)換成對計算機(jī)有意義的語言。

  JavaScript引擎的組成部分有哪些?

  1、編譯器。主要工作是將源代碼編譯成抽象語法樹,然后在某些引擎中還包含將抽象語法樹轉(zhuǎn)換成字節(jié)碼。

  2、解釋器。在某些引擎中,解釋器主要是接受字節(jié)碼,解釋執(zhí)行這個字節(jié)碼,然后也依賴來及回收機(jī)制等。

  3、JIT工具。一個能夠JIT的工具,將字節(jié)碼或者抽象語法樹轉(zhuǎn)換成本地代碼,當(dāng)然它也需要依賴?yán)斡浝厥掌骱头治龉ぞ?/span>(profiler)。它們負(fù)責(zé)垃圾回收和收集引擎中的信息,幫助改善引擎的性能和功效。

  JavaScript引擎是如何工作的?

  JavaScript的工作形式取決于是什么引擎。目前比較常用的JavaScript引擎有兩個:WebKitJavaScriptCoreGoogleV8引擎。這兩個引擎處理代碼的方式是不同的。JavaScriptCore: 源代碼=》抽象語法樹=》字節(jié)碼

  1、詞法分析,將源代碼分解成一系列具有明確含義的符號或字符串(分詞);

  2、用詞法分析器分析這些符號,將其構(gòu)建成抽象語法樹;

  3、解析器生成字節(jié)碼(編譯器可以理解);

  4、4JIT(Just-In-Time)進(jìn)程參與進(jìn)來,分析和執(zhí)行解析器所生成的字節(jié)碼。谷歌的V8引擎,用C++編寫,也編譯和執(zhí)行JavaScript源代碼、處理內(nèi)存分配、垃圾收集剩余物。V8引擎并不將抽象語法樹轉(zhuǎn)變成字節(jié)碼或者其它中間表示,沒有像Java一樣的虛擬機(jī)或者字節(jié)碼解釋器。這么做主要是為了減少這抽象語法樹到字節(jié)碼的轉(zhuǎn)換時間,這一切都在網(wǎng)頁加載時候完成,雖然可以提高優(yōu)化的可能,但是這些分析可能帶來巨大的時間浪費。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多