真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

V8引擎如何執(zhí)行JavaScript代碼

V8引擎如何執(zhí)行JavaScript代碼,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

站在用戶的角度思考問題,與客戶深入溝通,找到任城網(wǎng)站設(shè)計與任城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋任城地區(qū)。

題目中說到的V8引擎,大家自然會聯(lián)想到Node.js。

我們先看一下官方對Node.js的定義:

Node.js是一個基于V8 JavaScript引擎的JavaScript運行時環(huán)境

但是這句話對于我們很多同學(xué)來說,非?;\統(tǒng),比如先拋出這樣幾個問題:

  • 什么是JavaScript運行環(huán)境?

  • 為什么JavaScript需要特別的運行環(huán)境呢?

  • JavaScript引擎又是什么呢?

  • V8是什么?

上面這些問題,同學(xué)們理解的籠統(tǒng)沒關(guān)系,這篇文章會依次揭曉答案~

我們先來吧這些概念搞清楚,再去看Node到底是什么?為什么大前端需要它。

JavaScript無處不在
Stack Overflow的創(chuàng)立者之一的 Jeff Atwood 在前些年提出了著名的Atwood定律:

  • 任何可以使用JavaScript來實現(xiàn)的應(yīng)用最終都會使用JavaScript實現(xiàn)。

在發(fā)明之處,JavaScript的目的是應(yīng)用于在瀏覽器執(zhí)行簡單的腳本任務(wù),對瀏覽器以及其中的DOM進(jìn)行各種操作,所以JavaScript的應(yīng)用場景非常受限。

但是隨著Node的出現(xiàn),Atwood定律已經(jīng)越來越多的被證實是正確的。

但是為了可以理解Node.js是如何幫助我們做到這一點的,我們必須了解JavaScript是如何被運行的。

現(xiàn)在我們想一下,JavaScript代碼在瀏覽器中是如何被執(zhí)行的呢?

瀏覽器內(nèi)核
不同的瀏覽器有不同的內(nèi)核組成:

  • Gecko:早期被Netscape和Mozilla Firefox瀏覽器使用;

  • Trident:微軟開發(fā),被IE4~IE11瀏覽器使用,但是Edge瀏覽器已經(jīng)轉(zhuǎn)向Blink;

  • Webkit:蘋果基于KHTML開發(fā)、開源的,用于Safari,Google Chrome之前也在使用;

  • Blink:是Webkit的一個分支,Google開發(fā),目前應(yīng)用于Google Chrome、Edge、Opera等;

  • 等等...

事實上,我們經(jīng)常說的瀏覽器內(nèi)核指的是瀏覽器的排版引擎:

排版引擎(layout engine),也稱為瀏覽器引擎(browser engine)、頁面渲染引擎(rendering engine)或樣板引擎。

介紹完瀏覽器的排版引擎之后,來介紹下瀏覽器的渲染引擎的工作過程。

渲染引擎工作的過程

V8引擎如何執(zhí)行JavaScript代碼

瀏覽器渲染引擎的工作過程

如上圖:

  • HTML和CSS經(jīng)過對應(yīng)的Parser解析之后,會形成對應(yīng)的DOM Tree和 CSS  Tree;

  • 它們經(jīng)過附加合成之后,會形成一個Render Tree,同時生成一個Layout布局,最終通過瀏覽器的渲染引擎幫助我們完成繪制,展現(xiàn)出平時看到的Hmtl頁面;

  • 在HTML解析過程中,如果遇到了

  • <td id="wqqq8"></td>
    • <ul id="wqqq8"><sup id="wqqq8"></sup></ul>
      <ul id="wqqq8"><sup id="wqqq8"></sup></ul>