編譯器和解釋器

學過編譯原理的人都知道,對于靜態(tài)語言來說(如Java、C++、C),處理上述這些事情的叫編譯器(Compiler),相應地對于JavaScript這樣的動態(tài)語言則叫解釋器(Interpreter)。這兩者的區(qū)別用一句話來概括就是:編譯器是將源代碼編譯為另外一種代碼(比如機器碼,或者字節(jié)碼),而解釋器是直接解析并將代碼運行結果輸出。 比方說,firebug的console就是一個JavaScript的解釋器。

但是,現在很難去界定說,JavaScript引擎它到底算是個解釋器還是個編譯器,因為,比如像V8(Chrome的JS引擎),它其實為了提高JS的運行性能,在運行之前會先將JS編譯為本地的機器碼(native machine code),然后再去執(zhí)行機器碼(這樣速度就快很多),相信大家對JIT(Just In Time Compilation)一定不陌生吧。

參考文獻

  1. 我們應該如何去了解JavaScript引擎的工作原理(這里的引擎應該確切地說是解析器引擎
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 導讀:本文就從幾個方面著重介紹一下編譯器和解釋器的區(qū)別,令我感到意外的竟然是編譯器比解釋器既更快又更慢。 根據他們...
    極小光閱讀 10,649評論 0 4
  • 機器碼和字節(jié)碼 字節(jié)碼是一種中間狀態(tài)(中間碼)的二進制代碼(文件) 機器碼也是二進制代碼,是電腦CPU直接讀取運行...
    清水蘆葦閱讀 650評論 0 0
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,030評論 25 709
  • 懷舊小游戲 高中時玩過一些有意思的小游戲,最美應用上看的,但是有的忘記了名字,比如一個滑稽的跑步游戲,操控人的腿控...
    不想告訴你我是誰閱讀 136評論 0 0
  • 一、前兩周活動回顧 1、小組打卡表 小組的打卡表第二周我們組這次墊底,有天日計劃打卡遲到,拉低了小組評分。針對打卡...
    點墨在進化閱讀 269評論 0 1

友情鏈接更多精彩內容