javascript中变量的作用域跟其它编程语言中变量的作用域一样也有两种:局部变量和全局变量。
下面用具体的例子来了解一下局部变量和全局变量的关系:
实例一:
var msg = "全局变量";
function show(){
msg = "局部变量";
document.writeln(msg);
}
show();
document.writeln(msg);
最后执行的结果是:
局部变量
局部变量
实例二:
var msg = "全局变量";
function show() {
var msg;
msg = "局部变量";
document.writeln(msg);
}
show();
document.writeln(msg);
最后执行的结果是:
局部变量
全局变量
分析:调用show()函数会打印出“局部变量”这个不难理解;实例一中的show()函数操作的是全局变量msg,当show()函数结束的时候局部变量msg已经被修改成别的值了,所以会打印出“局部变量”;而实例二中的show()函数中重新定义了一个自己局部的变量msg,操作的也是自己的局部变量(覆盖了全局变量msg),当show()函数结束的时候,剩下的代码就跟show()函数没有半毛钱的关系了,所以会打印出“全局变量”。