node.js是高階語言嗎
node.js不是高階語言,而是基於Chrome V8引擎的JavaScript運行環境,是讓JavaScript運行在服務端的開發平台,用來支援JavaScript程式碼的執行,用於方便地建立回應速度快、易於擴展的網路應用。
本教學操作環境:windows7系統、nodejs 12.19.0版,DELL G3電腦。
JavaScript 誕生於 1995 年,幾乎是和網路同時出現;Node.js 誕生於 2009 年,比 JavaScript 晚了 15 年左右。
在 Node.js 之前,JavaScript 只能運行在瀏覽器中,作為網頁腳本使用,為網頁添加一些特效,或和伺服器進行通訊。有了 Node.js 以後,JavaScript 就可以脫離瀏覽器,像其它程式語言一樣直接在電腦上使用,想幹什麼就做什麼,再也不受瀏覽器的限制了。
Node.js 不是新的程式語言,也不是一個JavaScript 框架,它是一個基於Chrome V8引擎的JavaScript運行環境,是一個讓JavaScript運行在服務端的開發平台,用來支援JavaScript代碼的執行。用程式設計術語來講,Node.js 是一個 JavaScript 執行時期(Runtime)。
Node.js對一些特殊用例進行最佳化,提供替代的API,讓V8在非瀏覽器環境下運作得更好,V8引擎執行Javascript的速度非常快,效能非常好,基於Chrome JavaScript運行時建立的平台, 用於方便地建立響應速度快、易於擴展的網路應用。
Node.js 的誕生
JavaScript 的一生伴隨著瀏覽器大戰。 JavaScript 由 Netscape(網景)瀏覽器發布,但是 Netscape 在和 IE 的競爭中落敗,早已不復存在;後來谷歌公司的 Chrome 瀏覽器異軍突起,憑藉強悍的性能把 IE 按在地上摩擦。
Google公司在 Chrome 瀏覽器中整合了一種名為「V8」的 JavaScript 引擎(也即 JavaScript 解釋器),它能夠非常快速地解析和執行 JavaScript 程式碼。
V8 引擎使用 C 語言編寫,可以獨立運行,也可以嵌入任何其它 C 程式中。谷歌公司將 V8 引擎甚至整個 Chrome 瀏覽器都開源了,任何人都可以免費地將 V8 應用到自己的專案中。
V8 引擎的強大,以及當年JavaScript 的火爆,使得一名叫Ryan Dahl 的程式設計師動起了“歪心思”,他希望在瀏覽器之外再為JavaScript 構建一個運行時,讓JavaScript 能夠直接在電腦上運行,這樣JavaScript 就能像Python、Ruby、PHP 等其它腳本語言一樣大展宏圖,不必再受限於瀏覽器,只能做一些小事情。
Ryan Dahl 和他的團隊真的做到了,而且做得很好,他們將這套獨立的JavaScript 運行時命名為Node.js;為了避免被誤認為是JavaScript 框架,現在也經常簡稱為Node。
Node.js的優勢
1、前端/後端開發使用同一種語言
像ASP.NET 或Spring 這樣的技術需要開發人員學習一門新的服務端語言,例如C#,VB.NET 或Java。而 Node.js在服務端和客戶端都是使用 JavaScript,這表示開發人員只需在各層上使用語言。
2、容易學會,對於開發者易轉型
有一個事實就是 JavaScript 是 Web 開發者們熟知的語言,大部分人都了解 JavaScript 或多少使用過它。所以說,一個 Web開發人員從其他技術轉型到 Node.js 是很簡單的。
3、輕量
Node.js 使用的是事件驅動架構,這就是說在它上面做的每一件事,每一個獨立的呼叫和操作,都是一系列的非同步回調。這使得 Node.js運行在一個執行緒上,這一點和其它的 Web 技術是不同的,它們每個客戶端的請求都會產生一個新的執行緒來處理。這也正是非阻塞I/O的本質所在。
4、支援NoSQL 資料庫
在Node.js 應用程式中使用像MongoDB 這樣的NoSQL 資料庫簡是十分常見的,MongoDB 和傳統的SQL資料庫不同的是,它使用的是基於文件的模型而非關係型模型,它用的不是表,而是類似JSON 這樣的物件。這就很適合 ORM 的熱愛者了。
5、有很好的IDE 和程式碼編輯器支援
JavaScript 已經存在相當長一段時間了,所以像Visual Studio,Eclipse 這樣的IDE 都是支援JavaScript程式碼提示和高亮的,另外像NotePad 和Sublime Text 之類的程式碼編輯器也同樣支援這些。
6、程式碼託管服務支援廣泛
一些 Web 伺服器和雲端服務供應商都支援 Node.js 的 Web 應用。我們在這裡說幾個,包括 Google,Microsoft IIS,Heroku,Microsoft Azure,Amazon(AWS)等等。
更多node相關知識,請造訪:nodejs 教學! !
以上是node.js是高階語言嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

基於無阻塞、事件驅動建立的Node服務,具有記憶體消耗低的優點,非常適合處理海量的網路請求。在海量請求的前提下,就需要考慮「記憶體控制」的相關問題了。 1. V8的垃圾回收機制與記憶體限制 Js由垃圾回收機

選擇一個Node的Docker映像看起來像是小事,但是映像的大小和潛在漏洞可能會對你的CI/CD流程和安全造成重大的影響。那我們要如何選擇一個最好Node.js Docker映像呢?

Node 19已正式發布,以下這篇文章就來帶大家詳解了解Node.js 19的 6 大特性,希望對大家有幫助!

文件模組是對底層文件操作的封裝,例如文件讀寫/打開關閉/刪除添加等等文件模組最大的特點就是所有的方法都提供的**同步**和**異步**兩個版本,具有sync 字尾的方法都是同步方法,沒有的都是異

事件循環是 Node.js 的基本組成部分,透過確保主執行緒不被阻塞來實現非同步編程,了解事件循環對建立高效應用程式至關重要。以下這篇文章就來帶大家深入了解Node中的事件循環 ,希望對大家有幫助!

如何用pkg打包nodejs可執行檔?以下這篇文章跟大家介紹一下使用pkg將Node專案打包為執行檔的方法,希望對大家有幫助!
