谁来给我解释这个程序的结果?var msg = "1";function show(){var msg;msg = "2";}show();alert(msg);l结果输出的是1,为什么?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 11:09:41

谁来给我解释这个程序的结果?var msg = "1";function show(){var msg;msg = "2";}show();alert(msg);l结果输出的是1,为什么?
谁来给我解释这个程序的结果?
var msg = "1";
function show(){
var msg;
msg = "2";
}
show();
alert(msg);
l
结果输出的是1,为什么?

谁来给我解释这个程序的结果?var msg = "1";function show(){var msg;msg = "2";}show();alert(msg);l结果输出的是1,为什么?
分析:
var msg = "1"; 这是外部变量,全局有效.
function show()
{
var msg;
msg = "2"; 内部变量,局部有效,退出函数就无效.
} 函数中无输出句 alert(msg); 故没有输出.
show(); 调用show() 函数,只做了一个赋值 msg = "2";,函数结束时就无效了.
alert(msg); 输出 外部变量 msg = "1"; 的值 .
l
修改:将输出句 alert(msg); 移 放到函数内即可 .
function show()
{
var msg;
msg = "2"; 内部变量,局部有效,退出函数就无效.
alert(msg); 输出 2
}