1. 程式人生 > >頁面中多個script塊之間方法與變數共享問題

頁面中多個script塊之間方法與變數共享問題

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();//輸出1 alert(i);//此處為全域性變數,但值已經被修改,輸出3 alert(j);//輸出undefined,因為沒有為j賦值 alert(p);//沒有輸出,因為p是上一個script的區域性變數 </script>