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>
