首頁 web前端 前端問答 node.js是高階語言嗎

node.js是高階語言嗎

Dec 09, 2021 pm 05:40 PM
node.js

node.js不是高階語言,而是基於Chrome V8引擎的JavaScript運行環境,是讓JavaScript運行在服務端的開發平台,用來支援JavaScript程式碼的執行,用於方便地建立回應速度快、易於擴展的網路應用。

node.js是高階語言嗎

本教學操作環境: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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

圖文詳解Node V8引擎的記憶體和GC 圖文詳解Node V8引擎的記憶體和GC Mar 29, 2023 pm 06:02 PM

這篇文章帶大家深入了解NodeJS V8引擎的記憶體和垃圾回收器(GC),希望對大家有幫助!

一文聊聊Node中的記憶體控制 一文聊聊Node中的記憶體控制 Apr 26, 2023 pm 05:37 PM

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

聊聊如何選擇一個最好的Node.js Docker映像? 聊聊如何選擇一個最好的Node.js Docker映像? Dec 13, 2022 pm 08:00 PM

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

Node.js 19正式發布,聊聊它的 6 大功能! Node.js 19正式發布,聊聊它的 6 大功能! Nov 16, 2022 pm 08:34 PM

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

深入聊聊Node中的File模組 深入聊聊Node中的File模組 Apr 24, 2023 pm 05:49 PM

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

一起聊聊Node中的事件循環 一起聊聊Node中的事件循環 Apr 11, 2023 pm 07:08 PM

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

聊聊用pkg將Node.js專案打包為執行檔的方法 聊聊用pkg將Node.js專案打包為執行檔的方法 Dec 02, 2022 pm 09:06 PM

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

聊聊Node.js中的 GC (垃圾回收)機制 聊聊Node.js中的 GC (垃圾回收)機制 Nov 29, 2022 pm 08:44 PM

Node.js 是如何做 GC (垃圾回收)的?下面這篇文章就來帶大家了解一下。

See all articles