首頁 >web前端 >前端問答 >javascript的解譯器是什麼

javascript的解譯器是什麼

青灯夜游
青灯夜游原創
2021-12-07 16:15:544155瀏覽

javascript解釋器又稱“JavaScript引擎”,是專門處理JavaScript腳本的虛擬機,一般會附帶在網頁瀏覽器之中;JavaScript解釋器有四個組成部分:詞法分析器、句法解析器、字節碼產生器、字節碼解釋器。

javascript的解譯器是什麼

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

javascript解釋器是什麼

JavaScript是一門腳本語言,是需要被別人解釋執行的,這個別人就是JavaScript解釋器。它讀取一條JS語句、翻譯、執行,然後再讀取下一條JS語句,周而復始。

JavaScript解釋器又稱為JavaScript引擎,是專門處理JavaScript腳本的虛擬機,通常會附帶在網頁瀏覽器之中。其作用是執行JavaScript源碼。

JavaScript解析引擎就是能夠「讀懂」JavaScript程式碼,並且精確地給出程式碼執行結果的一段程式。

JavaScript解釋器的組成

JavaScript解釋器有四個組成部分:詞法解析器、句法解析器、字節碼生成器、字節碼解釋器。

詞法解析器

它可以讓一行行程式碼原始碼分割成一個個最小的詞義單位。所謂的詞義單位就是在語法上不能再分,最小的單字或字元組合。

  var number = 2;
  //解析成下面的json格式
  [
      {
        'type':'keyword',
        'value':'var'
      },
      {
        'type':'identifier',
        'value':'number',
      },
      {
        'type':'Punctuator',
        'value':'=',
      },
      {
       'type':'Numeric',
       'value':'2',
      }
      {
       'type':'Punctuator',
       'value':';'
      }
  ]

句法分析器

     將上面的分析出來的數組,根據語法規則,轉換為抽象語法樹,用Esprimas解析工具可以知道也轉換成了json格式。

這個抽象語法樹有什麼用呢?

人家說壓縮最佳化程式碼,這我又不懂了,然後又說編譯器、IDE等都有很多用處(現在沒有辦法去深入技能不夠)

在美團點評技術中看到了語法樹可以用來重構javaScript程式碼

字節碼產生器

  它的作用呢就是把語法樹轉換成javaScript引擎能讀懂和執行的的二進位代碼。

  每種javascript引擎都有自己的字節碼格式,最簡單的做法就是把語意單位翻譯成二進位

字節碼解釋器

  當然這個一環跟一環的,有了二進位程式碼了,那麼接下來就是執行二進位程式碼咯,產生了你可以用眼睛看到的結果咯。

【相關推薦:javascript學習教學

以上是javascript的解譯器是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn