[[345748]]

成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,先為淮濱等服務(wù)建站,淮濱等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為淮濱企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
看完本文可以掌握,以下幾個(gè)方面:
PS:本篇文章為「Node.js系列」的第一篇,為邂逅Node.js。
之后會(huì)保持每周1~2篇的Node.js文章,歡迎大家和我一起學(xué)習(xí)大前端進(jìn)階系列。
題目中說(shuō)到的V8引擎,大家自然會(huì)聯(lián)想到Node.js。
我們先看一下官方對(duì)Node.js的定義:
Node.js是一個(gè)基于V8 JavaScript引擎的JavaScript運(yùn)行時(shí)環(huán)境
但是這句話對(duì)于我們很多同學(xué)來(lái)說(shuō),非常籠統(tǒng),比如先拋出這樣幾個(gè)問(wèn)題:
上面這些問(wèn)題,同學(xué)們理解的籠統(tǒng)沒(méi)關(guān)系,這篇文章會(huì)依次揭曉答案~
我們先來(lái)吧這些概念搞清楚,再去看Node到底是什么?為什么大前端需要它。
JavaScript無(wú)處不在
Stack Overflow的創(chuàng)立者之一的 Jeff Atwood 在前些年提出了著名的Atwood定律:
在發(fā)明之處,JavaScript的目的是應(yīng)用于在瀏覽器執(zhí)行簡(jiǎn)單的腳本任務(wù),對(duì)瀏覽器以及其中的DOM進(jìn)行各種操作,所以JavaScript的應(yīng)用場(chǎng)景非常受限。
但是隨著Node的出現(xiàn),Atwood定律已經(jīng)越來(lái)越多的被證實(shí)是正確的。
但是為了可以理解Node.js是如何幫助我們做到這一點(diǎn)的,我們必須了解JavaScript是如何被運(yùn)行的。
現(xiàn)在我們想一下,JavaScript代碼在瀏覽器中是如何被執(zhí)行的呢?
瀏覽器內(nèi)核
不同的瀏覽器有不同的內(nèi)核組成:
事實(shí)上,我們經(jīng)常說(shuō)的瀏覽器內(nèi)核指的是瀏覽器的排版引擎:
排版引擎(layout engine),也稱為瀏覽器引擎(browser engine)、頁(yè)面渲染引擎(rendering engine)或樣板引擎。
介紹完瀏覽器的排版引擎之后,來(lái)介紹下瀏覽器的渲染引擎的工作過(guò)程。
渲染引擎工作的過(guò)程
瀏覽器渲染引擎的工作過(guò)程
如上圖: