45天帶你玩轉Node
粉絲要求博主系統的寫一篇關于Node.js的學習資料,但其實我們的Node.js知識點并不少,所以博主為大家搭建了一個專欄,為了方便大家系統的學習Node.js,大家記得訂閱哦!雖然我們的Node.js還很年輕,但是他也已經有了很高的地位,讓我們盡情的暢游在Node.js的專欄中吧,希望通過此專欄我們能夠系統的將Node.js學好,它將會成為我們的一大亮點,我們可以用這款前端中的后端語言讓提升我們的價值與眼界,如今的他也已經成為面試官口中的高并發面試內容了,一起加油!
走進Node.js
- V8 JavaScript 引擎
- 其他的JS引擎
- 追求性能
- 編譯
- 運行 Node.js 腳本
- 總結
- 面試法寶
V8 JavaScript 引擎
我們都知道?乎所有現代主流瀏覽器都全??持了ECMAScript 5.1版標準,?JavaScript的標準是。那么我們就容易認為JavaScript是?種瀏覽器端的解釋型編程腳本。那么脫離了瀏覽器,JavaScript還能夠解釋運?嗎?答案是肯定的,也就是說脫離了瀏覽器,在特定環境下JavaScript還是能運?的。JavaScript向來以Web?頁的腳本語??著稱,但現在也可以,例如或者。我們都知道?乎所有現代主流瀏覽器都全??持了ECMAScript 5.1版標準,?JavaScript的標準是。那么我們就容易認為JavaScript是?種瀏覽器端的解釋型編程腳本。那么脫離了瀏覽器,JavaScript還能夠解釋運?嗎?
答案是肯定的,也就是說脫離了瀏覽器,在特定環境下JavaScript還是能運?的。JavaScript向來以Web?頁的腳本語??著稱,但現在也可以,例如或者。本?就是基于NodeJS來進?探討。
V8 是驅動 Google Chrome 的 JavaScript 引擎的名稱。 這是在使用 Chrome 瀏覽時獲取我們的 JavaScript 并執行它的東西。
V8 提供了 JavaScript 執行的運行時環境。 DOM 和其他 Web 平臺 API 由瀏覽器提供。
很酷的是 JavaScript 引擎獨立于它所在的瀏覽器。 這個關鍵特性促成了 Node.js 的興起。 早在 2009 年,V8 就被選為驅動 Node.js 的引擎,隨著 Node.js 的流行,V8 成為現在為大量使用 JavaScript 編寫的服務器端代碼提供驅動的引擎。
Node.js 生態系統非常龐大,這要歸功于 V8,它還支持桌面應用程序,例如 Electron 等項目。
其他的JS引擎
- Firefox 具有 SpiderMonkey
- Safari 具有 JavaScriptCore(也稱為 Nitro)
- Edge 最初基于 Chakra,但最近使用 Chromium 和 V8 引擎重建。
還有許多其他的存在。
所有這些引擎都實現了 ECMA ES-262 標準,也稱為 ECMAScript(JavaScript 使用的標準)。
追求性能
V8 是用 C++ 編寫的,并且在不斷改進。 它是可移植的,可以在 Mac、Windows、Linux 和其他幾個系統上運行。
在此 V8 介紹中,我們將忽略 V8 的實現細節:它們可以在更權威的網站上找到(例如 V8 官方網站),它們經常會從根本上隨著時間的推移而變化。
V8 一直在發展,就像周圍的其他 JavaScript 引擎一樣,以加速 Web 和 Node.js 生態系統。
在 web 上,性能競賽已經持續了多年,我們(作為用戶和開發人員)從這場競爭中受益匪淺,因為我們年復一年地獲得更快、更優化的機器。
編譯
JavaScript 通常被認為是一門解釋型語言,但是現代的 JavaScript 引擎不再只是解釋 JavaScript,它們會編譯它。
這從 2009 年開始發生,當時 SpiderMonkey JavaScript 編譯器被添加到 Firefox 3.5 中,所有人都遵循這個想法。
JavaScript 由 V8 在內部使用即時 (JIT) 編譯以加快執行速度。
這可能看起來有悖常理,但自從 2004 年 Google 地圖推出以來,JavaScript 已經從一門通常執行幾十行代碼的語言發展為在瀏覽器中運行數千到數十萬行代碼的完整應用程序。
我們的應用程序現在可以在瀏覽器中運行數小時,而不僅僅是一些表單驗證規則或簡單的腳本。
在這個新世界中,編譯 JavaScript 非常有意義,因為雖然準備好 JavaScript 可能需要更多時間,但是一旦完成,它將比純粹的解釋型代碼性能更高。
運行 Node.js 腳本
運行 Node.js 程序的常用方法是,運行全局可用的命令 node(安裝 Node.js 之后)并且傳入您要執行的文件的名稱。
如果您的 Node.js 主應用程序文件是 app.js,則您可以通過鍵入以下來調用它:
node app.js
以上,你顯式地告訴 shell 使用 node 運行你的腳本。 您也可以使用 “shebang” 行將此信息嵌入到 JavaScript 文件中。 “shebang” 是文件的第一行,它告訴操作系統使用哪個解釋器來運行腳本。 以下是 JavaScript 的第一行
#!/usr/bin/node
以上,我們顯式地給出了解釋器的絕對路徑。 并非所有操作系統的 bin 文件夾中都有 node,但都應該有 env。 您可以告訴操作系統使用 node 為參數運行 env:
#!/usr/bin/env node// 你的代碼
要使用 shebang,您的文件應該具有可執行權限。 您可以通過運行以下賦予 app.js 可執行權限:
chmod u+x app.js
當運行命令時,請確保您位于包含 app.js 文件的同一目錄中。
總結
本篇文章大部分也都是一些按照官網總結的理論內容,主要就是讓大家對Node.js有基本的了解,了解我們V8、了解我們的Node優勢,下一節我們就為大家帶來我們Node的實操內容了哦!!!我們下篇見。
本期推薦
隨著網絡技術的迅速發展,如何有效地提取并利用信息,以及如何有效地防止信息被爬取,已成為一個巨大的挑戰。本書從零基礎開始講解,系統全面,案例豐富,注重實戰,既適合Python程序員和爬蟲愛好者閱讀學習,也可以作為廣大職業院校相關專業的教材或參考用書。礎操作、圖形處理基本操作、簡單圖形的繪制和對象的管理等內容。
面試法寶
很多伙伴找到我詢問面試題,問我針對于前端有沒有比較體系化的面試題總結,今天就給大家推薦這款面試法寶
點擊鏈接直達
https://www.nowcoder.com/link/jihexinliang260
就是我們的牛客網,各大互聯網大廠面試真題。從基礎到入階乃至原理刨析類面試題 應有盡有,趕快來裝備自己吧!助你面試穩操勝券,solo全場面試官