前端人員要掌握什麼知識 JavaScript怎麼回事

  前端人員要掌握什麼知識?JavaScript怎麼回事?JavaScript是Web前端人員必須要掌握的知識點之一,也是一門高級語言。最初JavaScript只是在Web瀏覽器中運行,隨著Node的出現,JavaScript也可以在服務端運行。接下來就給大家講解一下JavaScript引擎工作原理。

前端人員要掌握什麼知識 JavaScript怎麼回事

  JavaScript引擎是什麼?

  JavaScript引擎是一種用於將我們的代碼轉換為機器可讀語言的引擎。如果沒有JavaScript引擎,你編寫的代碼對計算機來說簡直是一堆“胡言亂語”。不僅僅是JavaScript,其他所有編程語言都需要一個類似的引擎,來將這些“胡言亂語”轉換成對計算機有意義的語言。

  JavaScript引擎的組成部分有哪些?

  1、編譯器。主要工作是將源代碼編譯成抽象語法樹,然後在某些引擎中還包含將抽象語法樹轉換成字節碼。

  2、解釋器。在某些引擎中,解釋器主要是接受字節碼,解釋執行這個字節碼,然後也依賴來及回收機制等。

  3、JIT工具。一個能夠JIT的工具,將字節碼或者抽象語法樹轉換成本地代碼,當然它也需要依賴牢記垃圾回收器和分析工具(profiler)。它們負責垃圾回收和收集引擎中的信息,幫助改善引擎的性能和功效。

  JavaScript引擎是如何工作的?

  JavaScript的工作形式取決於是什麼引擎。目前比較常用的JavaScript引擎有兩個:WebKit的JavaScriptCore和Google的V8引擎。這兩個引擎處理代碼的方式是不同的。

  JavaScriptCore: 源代碼=》抽象語法樹=》字節碼

  1、詞法分析,將源代碼分解成一系列具有明確含義的符號或字符串(分詞);

  2、用詞法分析器分析這些符號,將其構建成抽象語法樹;

  3、解析器生成字節碼(編譯器可以理解);

  4、4個JIT(Just-In-Time)進程參與進來,分析和執行解析器所生成的字節碼。

  谷歌的V8引擎,用C++編寫,也編譯和執行JavaScript源代碼、處理內存分配、垃圾收集剩餘物。V8引擎並不將抽象語法樹轉變成字節碼或者其它中間表示,沒有像Java一樣的虛擬機或者字節碼解釋器。這麼做主要是為了減少這抽象語法樹到字節碼的轉換時間,這一切都在網頁加載時候完成,雖然可以提高優化的可能,但是這些分析可能帶來巨大的時間浪費。

  如果你想學習Web前端相關技術,比較好的方法是參加專業的學習。讓自己快速入行Web前端行業,掌握企業所需的高端技能。命運掌握在自己的手裡,想要什麼樣的人生就看你自己的選擇了!


分享到:


相關文章: