天天看點

浏覽器解析js

網頁加載js步驟

1、浏覽器一邊下載下傳html網頁,一邊開始解析(不等下載下傳完就解析)

2、遇到<script>标簽,暫停解析,網頁渲染的控制權交給javascript引擎

3、如果<script>标簽引用了外部腳本,先下載下傳在執行,否則直接執行

4、執行完畢,控制權交還渲染引擎,繼續往下解析html網頁

注意:

有多個外部js檔案的時候,浏覽器會同時下載下傳所有的js檔案,但是執行的時候會按書寫順序執行。

在使用<script>嵌入JavaScript代碼時,記住不要在代碼中的任何地方出現"</script>"字元串。

例如浏覽器執行下面代碼會報錯:

<script type="text/javascript">
    function sayHello() {
        console.log("</script>");
    }
</script>      

浏覽器會報以下錯誤:

Uncaught SyntaxError: Invalid or unexpected token

因為按照解析嵌入式代碼的規則,當浏覽器遇到字元串"</script>"時,會認為那是結束的</script>标簽。

而通過轉義符可以解決這個問題,例如:

<script type="text/javascript">
    function sayHello() {
        console.log("<\/script>");
    }
</script>