页面中多个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>
上一篇:ES6的let和const的不同点


下一篇:浏览器渲染HTML页面步骤