日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

jeans是什么意思 js是什么意思

前言
什么是 V8?JavaScript運(yùn)行的背后發(fā)生了什么?
如果你是一個(gè) JS 開發(fā)者或者是正在學(xué)習(xí)這門語言的學(xué)生,很大概率上你會遇到雙字母詞”V8” 。在這篇文章中,我將會為你簡述不同的 JS 引擎并深入探究 V8 引擎的工作機(jī)制 。文章的第二部分涵蓋了內(nèi)存管理的概念 , 不久后將發(fā)布 。
這篇文章是由 Bit (GitHub) 帶來的 。作為一個(gè)共享組件的平臺,Bit 幫助每個(gè)人構(gòu)建模塊化的 JavaScript 應(yīng)用程序,在項(xiàng)目和團(tuán)隊(duì)之間輕松地共享組件,同時(shí)實(shí)現(xiàn)更好&更快的構(gòu)建 。試試看 。

jeans是什么意思 js是什么意思


1.編程語言是如何工作的?
在開始講解 JavaScript 之前,我們首先要理解任意一門編程語言的基本工作方式 。電腦是由微處理器構(gòu)成的 , 我們通過書寫代碼來命令這臺小巧但功能強(qiáng)大的機(jī)器 。但是微處理器能理解什么語言?它們無法理解 Java,Python 等語言,而只懂機(jī)器碼 。
用機(jī)器語言或匯編語言編寫企業(yè)級代碼是不可行的,因此我們需要像 Java,Python 這樣配帶一個(gè)解釋器或者編譯器用于將其轉(zhuǎn)換為機(jī)器碼的高級語言 。
1.1編譯器和解釋器
【jeans是什么意思 js是什么意思】編譯器/解釋器可以用它處理的語言或任何其他語言來編寫 。
解釋器: 一行一行地快速讀取和翻譯文件 。這就是 JavaScript 最初的工作原理 。
編譯器: 編譯器提前運(yùn)行并創(chuàng)建一個(gè)文件,其中包含了輸入文件的機(jī)器碼轉(zhuǎn)換 。
有兩種途徑可以將 JavaScript 代碼轉(zhuǎn)換為機(jī)器碼 。編譯代碼時(shí),機(jī)器對代碼開始運(yùn)行前將要發(fā)生的事情有更好的理解,這將加快稍后的執(zhí)行速度 。不過,在這個(gè)過程之前需要花費(fèi)時(shí)間 。
另一方面,解釋代碼時(shí) , 執(zhí)行是立即的,因此要更快,但是缺乏優(yōu)化導(dǎo)致它在大型應(yīng)用程序下運(yùn)行緩慢 。
創(chuàng)建 ECMAScript 引擎的人很聰明 , 他們集二者之長開發(fā)了 JIT(Just-in-time) 編譯器 。JavaScript 同時(shí)被編譯和解釋,但實(shí)際實(shí)現(xiàn)和順序取決于引擎 。我們將會看到 V8 團(tuán)隊(duì)采用的是什么策略 。
2.從 JavaScript 到機(jī)器碼
就 JavaScript 而言,有一個(gè)引擎將其轉(zhuǎn)換為機(jī)器碼 。和其他語言類似,引擎可以用任何語言來開發(fā),因此這樣的引擎不止一個(gè) 。
  • V8 是谷歌針對 Chorme 瀏覽器的引擎實(shí)現(xiàn) 。
  • SpiderMonkey 是第一個(gè)引擎 , 針對網(wǎng)景瀏覽器開發(fā),現(xiàn)用于驅(qū)動 FireFox 。
  • JavaScriptCore 是蘋果針對 Safari 瀏覽器使用的引擎 。
還有很多,如果你想知道 Internet Explorer 背后的引擎 , 查看這個(gè)維基百科頁面.
2.1 ECMAScript
面對這么多的引擎,你可能會問:我可以開發(fā)自己的引擎嗎?可以,只要遵循 ECMAScript 標(biāo)準(zhǔn) 。
如果我們打算做一個(gè)翻譯器,那么就必須知道這兩門語言的有效字 。我們已經(jīng)知道機(jī)器語言中什么是有效的了,但是對于 JavaScript,這是需要進(jìn)行標(biāo)準(zhǔn)化的 。
JavaScript 的標(biāo)準(zhǔn)化工作是由 Ecma 國際組織負(fù)責(zé)的,相關(guān)規(guī)范被稱為 ECMAScript 或者 ES 。因此,當(dāng)你看到一篇文章/視頻提到“ES7 有什么新特性?”時(shí),你就知道它代表的是 ECMAScript 標(biāo)準(zhǔn)中新增的 JS 特性 。
3.V8 引擎
3.1 部分歷史
谷歌針對瀏覽器開發(fā)了谷歌地圖,而這對瀏覽器的處理能力提出了很高的要求 。那時(shí)的 JavaScript 實(shí)現(xiàn)尚不足以快速地運(yùn)行地圖 。谷歌想要吸引更多的用戶使用這項(xiàng)服務(wù) , 從而進(jìn)行廣告銷售并牟利 ?;谶@個(gè)原因,這項(xiàng)服務(wù)必須快速且穩(wěn)定 。因此谷歌自己用 C++ 開發(fā)了 V8 引擎并在 2008 年啟用,它的速度很快 , 或者就像一些人說的,它的速度是最快的 。

推薦閱讀