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

首頁(yè) web前端 js教程 JavaScript 執(zhí)行時(shí)期:JavaScript 執(zhí)行階段簡(jiǎn)介。

JavaScript 執(zhí)行時(shí)期:JavaScript 執(zhí)行階段簡(jiǎn)介。

Jan 06, 2025 am 06:54 AM

JavaScript Runtimes: Introduction to JavaScript Runtimes.

介紹

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

JavaScript:起源與背景故事

20 世紀(jì) 90 年代中期,網(wǎng)路仍處?kù)镀鸩诫A段。每天都有越來(lái)越多的網(wǎng)站被託管,由於個(gè)人運(yùn)算對(duì)大眾的可用性不斷增加,網(wǎng)路正在以驚人的速度增長(zhǎng)。

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

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

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

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

每個(gè) JavaScript 引擎都包含兩個(gè)基本元件:呼叫堆疊和堆疊。呼叫堆疊是我們的程式碼執(zhí)行的地方,堆是記憶體中儲(chǔ)存我們應(yīng)用程式中所需的所有物件的地方。

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 執(zhí)行時(shí)間系統(tǒng)。

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

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

我們知道 JavaScript 引擎對(duì)於執(zhí)行程式碼至關(guān)重要,但為了使其有用,我們需要 API。這些 API 使我們的程式碼能夠與網(wǎng)頁(yè)、網(wǎng)路、資料庫(kù)和檔案系統(tǒng)互動(dòng)。例如,Web 瀏覽器提供 Web API 來(lái)處理瀏覽器事件並與 DOM 交互,而 Node.js 提供用於 I/O 操作的 API。

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

  • Node.js:

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

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

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

以上是JavaScript 執(zhí)行時(shí)期:JavaScript 執(zhí)行階段簡(jiǎn)介。的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)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脫衣器

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整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門(mén)話(huà)題

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

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

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

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

JavaScript評(píng)論:簡(jiǎn)短說(shuō)明 JavaScript評(píng)論:簡(jiǎn)短說(shuō)明 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ù)類(lèi)型:深度潛水 JavaScript數(shù)據(jù)類(lèi)型:深度潛水 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:開(kāi)發(fā)人員的全面比較 JavaScript與Java:開(kāi)發(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開(kāi)始;3.手動(dòng)格式化日期需拼接字符串,也可使用第三方庫(kù);4.處理時(shí)區(qū)問(wèn)題建議使用支持時(shí)區(qū)的庫(kù),如Luxon。掌握這些要點(diǎn)能有效避免常見(jiàn)錯(cuò)誤。

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

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

See all articles