JS中代碼的運行流程理解

代碼的運行分兩個階段

  • 解析(編譯)階段

先進行代碼的語法檢查,然後是變量和語法的聲明

  • 運行階段

變量的賦值,代碼流程的執行

案例說明

在瀏覽器中運行下面的代碼,會在console中打印undefined,

<script type="text/javascript">
    console.log(a);
    var a = 3;
</script>

而執行下面的代碼時,會報錯

<script>
    console.log(a);
    //var a = 3;
</script>

因爲代碼先編譯,編譯時a聲明瞭,但沒賦值;再執行時,是順序結構執行的,先執行了console.log(a);後賦值,所以註釋掉var a = 3;時,執行結果由undefined變爲報錯。

所以代碼

<script type="text/javascript">
    console.log(a);
    var a = 3;
</script>

可理解成

<script type="text/javascript">
    var a;
    console.log(a);
    a = 3;
</script>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章