DIV CSS 佈局教程網

JS中script詞法分析
編輯:JavaScript基礎知識     

核心:JS中的script是分段執行的。

 <script>
     var i = 10;
 </script>
 <script>
     alert(i);
 </script>

上面的例子中,彈出結果10。因為在之前script語句段定義的變量和函數可以再其他script語句段中使用。在一個js程序中,可以有多個script語句段,那麼它們如何工作呢?

script執行過程:

  1.讀入第一個代碼段

  2.編譯(聲明變量,聲明函數,語法檢查,語義檢查,代碼優化,分析並得到代碼書)

  3.執行

  4.讀入下一代碼段

  5.編譯

  6.執行

  7.讀入下一代碼段

  ......

  n.結束

舉個例子來說

 <script>
     //例1    
     alert(i);
 </script>
 <script>
     //例2    
     alert(i);
     var i=10;
 </script>

例1的代碼執行後,什麼都不會彈出,因為已經報錯了。但例2的代碼會彈出undefined。因為i已經聲明但沒有賦值。因為代碼段是先編譯再執行,編譯負責生成,執行負責賦值。

區分編譯錯誤和運行錯誤:

 <script>
     alert(i; //編譯錯誤
     alert(i);//運行錯誤
     alert('hello');
 </script>

但無論是哪種錯誤,當前代碼段中的後面的代碼都不執行。

無論是哪種錯誤,不會影響後面的代碼段的執行。

編譯錯誤時,當前代碼段會停止,代碼中所有聲明全部無效。

運行錯誤時,前面的代碼已經執行完畢,不會影響該代碼段內前面的內容。

 

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved