国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 web前端 js教程 JavaScript 運(yùn)行時(shí):JavaScript 運(yùn)行時(shí)簡(jiǎn)介。

JavaScript 運(yùn)行時(shí):JavaScript 運(yùn)行時(shí)簡(jiǎn)介。

Jan 06, 2025 am 06:54 AM

JavaScript Runtimes: Introduction to JavaScript Runtimes.

介紹

有沒有想過為什么 JavaScript 這種專門用于操作 UI 元素的語言后來成為使用最廣泛的語言?它不再僅僅用于 UI 操作; JavaScript 現(xiàn)在被廣泛使用,從前端到后端開發(fā),再到機(jī)器學(xué)習(xí)等等。在本系列的課程中,我們將深入研究運(yùn)行時(shí),更具體地說是一些流行的 JavaScript 運(yùn)行時(shí),并探索這些工具如何使 JavaScript 能夠在我們的瀏覽器之外運(yùn)行。

JavaScript:起源和背景故事

20 世紀(jì) 90 年代中期,網(wǎng)絡(luò)還處于起步階段。每天都有越來越多的網(wǎng)站被托管,并且由于個(gè)人計(jì)算對(duì)大眾的可用性不斷增加,網(wǎng)絡(luò)正在以驚人的速度增長(zhǎng)。

當(dāng)時(shí),網(wǎng)絡(luò)主要是靜態(tài)的,沒有用戶交互。大多數(shù)人使用 AOL、Yahoo 和 Netscape Navigator 等網(wǎng)絡(luò)瀏覽器來瀏覽網(wǎng)絡(luò)。在這三種瀏覽器中,Netscape 在用戶和創(chuàng)新方面均處于領(lǐng)先地位。 Netscape 團(tuán)隊(duì)意識(shí)到,隨著網(wǎng)絡(luò)的發(fā)展,需要雙向交互。

為了滿足這一需求,他們于 1995 年 4 月聘請(qǐng)了 Brendan Eich 來創(chuàng)建一種新語言。擁有Scheme和其他編程語言背景的Eich在1995年5月僅用十天就開發(fā)出了JavaScript的第一個(gè)版本,然后為Netscape Navigator創(chuàng)建了JavaScript引擎。這一發(fā)展標(biāo)志著 Web 2.0 的開始。

JavaScript 引擎:為現(xiàn)代 Web 提供動(dòng)力

JavaScript 引擎只是一個(gè)解釋 JavaScript 代碼的計(jì)算機(jī)程序。引擎負(fù)責(zé)執(zhí)行代碼。第一個(gè) JavaScript 引擎是由 Brendan Eich 開發(fā)的,它只是一個(gè)解釋器?,F(xiàn)代 JavaScript 引擎已經(jīng)有了顯著的發(fā)展,現(xiàn)在使用 JIT(即時(shí))編譯等技術(shù)來實(shí)現(xiàn)更好的性能。在JIT編譯中,整個(gè)代碼會(huì)立即轉(zhuǎn)換為機(jī)器代碼,然后立即執(zhí)行。

每個(gè) JavaScript 引擎都包含兩個(gè)基本組件:調(diào)用堆棧和堆。調(diào)用堆棧是我們的代碼執(zhí)行的地方,堆是內(nèi)存中存儲(chǔ)我們應(yīng)用程序中所需的所有對(duì)象的地方。

Google 的 V8 引擎是第一個(gè)引入 JIT 編譯的引擎,并且改變了游戲規(guī)則。目前,它是使用最廣泛的引擎,被用于每個(gè)基于 Chromium 的 Web 瀏覽器、使用 Electron 框架構(gòu)建的應(yīng)用程序、Node.js 和 Deno 等運(yùn)行時(shí)系統(tǒng)以及嵌入 Chromium 的任何其他框架。

除了 V8 之外,還有其他著名的 JavaScript 引擎:

  • SpiderMonkey - 用于 Firefox 及其分支。
  • JavaScriptCore - 用于 Safari 瀏覽器和 Bun 運(yùn)行時(shí)系統(tǒng)。

JavaScript 運(yùn)行時(shí):運(yùn)行時(shí)到底是什么?

簡(jiǎn)而言之,運(yùn)行時(shí)是一個(gè)允許我們實(shí)時(shí)編譯或執(zhí)行代碼的系統(tǒng)。 JavaScript 運(yùn)行時(shí)本質(zhì)上是一個(gè)包裝器,包括 JavaScript 引擎、回調(diào)隊(duì)列和一組 API,提供執(zhí)行 JavaScript 代碼的環(huán)境。

我們知道 JavaScript 引擎對(duì)于執(zhí)行代碼至關(guān)重要,但為了使其有用,我們需要 API。這些 API 使我們的代碼能夠與網(wǎng)頁、網(wǎng)絡(luò)、數(shù)據(jù)庫和文件系統(tǒng)進(jìn)行交互。例如,Web 瀏覽器提供 Web API 來處理瀏覽器事件并與 DOM 交互,而 Node.js 提供用于 I/O 操作的 API。

現(xiàn)在我們已經(jīng)介紹了什么是運(yùn)行時(shí),讓我們來看看兩個(gè)最廣泛使用和備受推崇的 JavaScript 運(yùn)行時(shí)系統(tǒng),用于在服務(wù)器上運(yùn)行代碼

  • Node.js:

    • Node.js 是一個(gè)開源、跨平臺(tái)的 JavaScript 運(yùn)行環(huán)境。
    • 它在瀏覽器外部運(yùn)行 V8 JavaScript 引擎,這是 Google Chrome 的核心。這使得 Node.js 具有非常高的性能。
    • Node 在其標(biāo)準(zhǔn)庫中提供了一組異步 I/O 原語,可防止 JavaScript 代碼阻塞。
  • Bun.sh:

    • Bun 是一款專為提高速度而設(shè)計(jì)的一體化 JavaScript 運(yùn)行時(shí)和工具包,配有捆綁器、測(cè)試運(yùn)行器和與 Node.js 兼容的包管理器。
    • 它擴(kuò)展了 JavaScriptCore,這是專為 Safari 構(gòu)建的注重性能的 JS 引擎。這使其成為最快的 JavaScript 運(yùn)行時(shí)。
    • Bun 提供了一組最小的高度優(yōu)化的 API,用于執(zhí)行常見任務(wù),例如啟動(dòng) HTTP 服務(wù)器和寫入文件。

這就是本集的全部?jī)?nèi)容。在下一集中,我們將深入探討 Node.js 的起源及其用于構(gòu)建強(qiáng)大的服務(wù)器端應(yīng)用程序的核心 API。敬請(qǐng)期待!

以上是JavaScript 運(yùn)行時(shí):JavaScript 運(yùn)行時(shí)簡(jiǎn)介。的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

在JavaScript中使用哪些評(píng)論符號(hào):一個(gè)明確的解釋 在JavaScript中使用哪些評(píng)論符號(hào):一個(gè)明確的解釋 Jun 12, 2025 am 10:27 AM

在JavaScript中,選擇單行注釋(//)還是多行注釋(//)取決于注釋的目的和項(xiàng)目需求:1.使用單行注釋進(jìn)行快速、內(nèi)聯(lián)的解釋;2.使用多行注釋進(jìn)行詳細(xì)的文檔說明;3.保持注釋風(fēng)格的一致性;4.避免過度注釋;5.確保注釋與代碼同步更新。選擇合適的注釋風(fēng)格有助于提高代碼的可讀性和可維護(hù)性。

Java vs. JavaScript:清除混亂 Java vs. JavaScript:清除混亂 Jun 20, 2025 am 12:27 AM

Java和JavaScript是不同的編程語言,各自適用于不同的應(yīng)用場(chǎng)景。Java用于大型企業(yè)和移動(dòng)應(yīng)用開發(fā),而JavaScript主要用于網(wǎng)頁開發(fā)。

JavaScript評(píng)論:簡(jiǎn)短說明 JavaScript評(píng)論:簡(jiǎn)短說明 Jun 19, 2025 am 12:40 AM

JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)

掌握J(rèn)avaScript評(píng)論:綜合指南 掌握J(rèn)avaScript評(píng)論:綜合指南 Jun 14, 2025 am 12:11 AM

評(píng)論arecrucialinjavascriptformaintainingclarityclarityandfosteringCollaboration.1)heelpindebugging,登機(jī),andOnderStandingCodeeVolution.2)使用林格forquickexexplanations andmentmentsmmentsmmentsmments andmmentsfordeffordEffordEffordEffordEffordEffordEffordEffordEddeScriptions.3)bestcractices.3)bestcracticesincracticesinclud

JavaScript數(shù)據(jù)類型:深度潛水 JavaScript數(shù)據(jù)類型:深度潛水 Jun 13, 2025 am 12:10 AM

JavaScripthasseveralprimitivedatatypes:Number,String,Boolean,Undefined,Null,Symbol,andBigInt,andnon-primitivetypeslikeObjectandArray.Understandingtheseiscrucialforwritingefficient,bug-freecode:1)Numberusesa64-bitformat,leadingtofloating-pointissuesli

JavaScript與Java:開發(fā)人員的全面比較 JavaScript與Java:開發(fā)人員的全面比較 Jun 20, 2025 am 12:21 AM

JavaScriptIspreferredforredforwebdevelverment,而Javaisbetterforlarge-ScalebackendsystystemsandSandAndRoidApps.1)JavascriptexcelcelsincreatingInteractiveWebexperienceswebexperienceswithitswithitsdynamicnnamicnnamicnnamicnnamicnemicnemicnemicnemicnemicnemicnemicnemicnddommanipulation.2)

如何在JS中與日期和時(shí)間合作? 如何在JS中與日期和時(shí)間合作? Jul 01, 2025 am 01:27 AM

JavaScript中的日期和時(shí)間處理需注意以下幾點(diǎn):1.創(chuàng)建Date對(duì)象有多種方式,推薦使用ISO格式字符串以保證兼容性;2.獲取和設(shè)置時(shí)間信息可用get和set方法,注意月份從0開始;3.手動(dòng)格式化日期需拼接字符串,也可使用第三方庫;4.處理時(shí)區(qū)問題建議使用支持時(shí)區(qū)的庫,如Luxon。掌握這些要點(diǎn)能有效避免常見錯(cuò)誤。

JavaScript:探索用于高效編碼的數(shù)據(jù)類型 JavaScript:探索用于高效編碼的數(shù)據(jù)類型 Jun 20, 2025 am 12:46 AM

javascripthassevenfundaMentalDatatypes:數(shù)字,弦,布爾值,未定義,null,object和symbol.1)numberSeadUble-eaduble-ecisionFormat,forwidevaluerangesbutbecautious.2)

See all articles