国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS學習筆記 - 分析 JavaScript 的執行順序

Keagan / 1624人閱讀

摘要:瀏覽器在解析文檔流的時候,如果遇到一個標簽,則會等到這個代碼塊都加載完之后再對代碼進行預編譯,然后在執行。執行完畢后,瀏覽器會繼續解析西門的文檔流,同時也準備好處理下一個代碼塊。同時,也避開了文檔流對執行的限制。

  

本文章記錄本人在學習 JavaScript 中看書理解到的一些東西,加深記憶和并且整理記錄下來,方便之后的復習。

在 html 文檔中的執行順序

js代碼執行順序比較的形象,用戶可以直觀的感受這種執行順序。但是,js代碼的執行順序是比較復雜的。有時候我們會把js代碼寫在html里面,而html文檔在瀏覽器中解析的過程是這樣:瀏覽器按照文檔流從上到下逐步解析頁面結構和信息。js代碼作為嵌入的腳本也算做html文檔的組成部分,因此,js代碼在裝載時的執行順序也是根據腳本標簽 Document

還有對于通過腳本標簽 // 然后在按順序執行下面的代碼 預編譯

js引擎解析的時候,它會在預編譯對所有聲明的變量和函數進行處理。

變量提升

Javascriptconsole.log(a); // undefined
var a = 1;
console.log(a); // 1

預解析函數

JavaScriptf(); // 1
function f() {
    console.log(1);
};

詳細:javascript變量聲明提升(hoisting)

分塊執行代碼

js是按塊執行代碼的,所謂代碼塊就是使用

因為js是按代碼塊來執行的。瀏覽器在解析html文檔流的時候,如果遇到一個

由于js是按塊處理代碼,同時又遵循html文檔流的解析順序,因此在上面的栗子中會看到語法錯誤。但是,在文檔流加載完畢后再次訪問就不會出現這種錯誤了。(下面一個栗子)



還有為了安全起見,一般在頁面初始化完畢之后才允許js代碼執行,這樣就可以避免一些網速對js執行的影響。同時,也避開了html文檔流對js執行的限制。

  

最后,如果文章有什么錯誤和疑問的地方,請指出。與sf各位共勉!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/85741.html

相關文章

  • 重學前端學習筆記(十七)--Promise里代碼為什么比setTimeout先執行

    摘要:版本以及之前,本身還沒有異步執行代碼的能力,宿主環境傳遞給引擎,然后按順序執行,由宿主發起任務。采納引擎術語,把宿主發起的任務稱為宏觀任務,把引擎發起的任務稱為微觀任務。基本用法示例的回調是一個異步的執行過程。 筆記說明 重學前端是程劭非(winter)【前手機淘寶前端負責人】在極客時間開的一個專欄,每天10分鐘,重構你的前端知識體系,筆者主要整理學習過程的一些要點筆記以及感悟,完整的...

    pinecone 評論0 收藏0
  • 重學前端學習筆記(十七)--Promise里代碼為什么比setTimeout先執行

    摘要:版本以及之前,本身還沒有異步執行代碼的能力,宿主環境傳遞給引擎,然后按順序執行,由宿主發起任務。采納引擎術語,把宿主發起的任務稱為宏觀任務,把引擎發起的任務稱為微觀任務。基本用法示例的回調是一個異步的執行過程。 筆記說明 重學前端是程劭非(winter)【前手機淘寶前端負責人】在極客時間開的一個專欄,每天10分鐘,重構你的前端知識體系,筆者主要整理學習過程的一些要點筆記以及感悟,完整的...

    zorpan 評論0 收藏0
  • 重學前端學習筆記(十七)--Promise里代碼為什么比setTimeout先執行

    摘要:版本以及之前,本身還沒有異步執行代碼的能力,宿主環境傳遞給引擎,然后按順序執行,由宿主發起任務。采納引擎術語,把宿主發起的任務稱為宏觀任務,把引擎發起的任務稱為微觀任務。基本用法示例的回調是一個異步的執行過程。 筆記說明 重學前端是程劭非(winter)【前手機淘寶前端負責人】在極客時間開的一個專欄,每天10分鐘,重構你的前端知識體系,筆者主要整理學習過程的一些要點筆記以及感悟,完整的...

    xiongzenghui 評論0 收藏0
  • javascript學習筆記(1)

    摘要:關于作用域實現的描述任何執行上下文時刻的作用域,都是由作用域鏈來實現的。在一個函數被定義的時候,會將它此時的作用域鏈鏈接到這個函數對象的屬性。參考資料鳥哥作用域原理理解作用域和作用域鏈阮一峰老師微博上的關于作用域的一道題 javascript作用域原理學習   在每次調用一個函數的時候,就會進入一個函數內的作用域,當從函數返回 以后,就會返回調用前的作用域。   ECMA262關于作...

    Chaz 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<