日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
「Node.js系列」深入淺出講解V8引擎如何執(zhí)行JavaScript代碼

[[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ù)解決您的所有建站問題。

 看完本文可以掌握,以下幾個(gè)方面:

  • JavaScript的執(zhí)行原理;
  • 瀏覽器內(nèi)核的真實(shí)結(jié)構(gòu);
  • 瀏覽器渲染引擎的工作過程;
  • V8引擎的工作原理;
  • 瀏覽器和Node.js架構(gòu)的區(qū)別和練習(xí);
  • Node.js架構(gòu)的應(yīng)用場景和REPL;
  • Node.js架構(gòu)的REPL使用;

PS:本篇文章為「Node.js系列」的第一篇,為邂逅Node.js。

之后會(huì)保持每周1~2篇的Node.js文章,歡迎大家和我一起學(xué)習(xí)大前端進(jìn)階系列。

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

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

Node.js是一個(gè)基于V8 JavaScript引擎的JavaScript運(yùn)行時(shí)環(huán)境

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

  • 什么是JavaScript運(yùn)行環(huán)境?
  • 為什么JavaScript需要特別的運(yùn)行環(huán)境呢?
  • JavaScript引擎又是什么呢?
  • V8是什么?

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

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

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

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

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

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

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

現(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的一個(gè)分支,Google開發(fā),目前應(yīng)用于Google Chrome、Edge、Opera等;
  • 等等...

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

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

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

渲染引擎工作的過程

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

如上圖: