页面中多个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();//输出ok
    alert(i);//此处为全局变量,但值已经被修改,输出3
    alert(j);//输出undefined,因为没有为j赋值
    alert(p);//没有输出,因为p是上一个script的局部变量
</script>

 

posted @ 2018-11-26 15:51  文歌  阅读(3749)  评论(0编辑  收藏  举报