JS是按照程式碼塊來進行編譯和執行的,程式碼塊間相互獨立,但變數和方法共享,按順序執行。
如:
<script type=`text/javascript`> var m = 0,n = 1,i = 2,j; alert(q);//沒有輸出,因為q是下一個script的全域性變數,script塊按順序執行,將兩個script塊交換位置可能會出錯 function num(){ i = 3; var p = 4;//p在方法內為區域性變數 alert(`ok`); } </script> <script type=`text/javascript`> var q = 5; alert(m);//輸出0 num();//輸出ok alert(i);//此處為全域性變數,但值已經被修改,輸出3 alert(j);//輸出undefined,因為沒有為j賦值 alert(p);//沒有輸出,因為p是上一個script的區域性變數 </script>