谁来给我解释这个程序的结果?var msg = "1";function show(){var msg;msg = "2";}show();alert(msg);l结果输出的是1,为什么?
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/25 12:59:35
![谁来给我解释这个程序的结果?var msg =](/uploads/image/z/9577509-69-9.jpg?t=%E8%B0%81%E6%9D%A5%E7%BB%99%E6%88%91%E8%A7%A3%E9%87%8A%E8%BF%99%E4%B8%AA%E7%A8%8B%E5%BA%8F%E7%9A%84%E7%BB%93%E6%9E%9C%3Fvar+msg+%3D+%221%22%3Bfunction+show%28%29%7Bvar+msg%3Bmsg+%3D+%222%22%3B%7Dshow%28%29%3Balert%28msg%29%3Bl%E7%BB%93%E6%9E%9C%E8%BE%93%E5%87%BA%E7%9A%84%E6%98%AF1%2C%E4%B8%BA%E4%BB%80%E4%B9%88%3F)
谁来给我解释这个程序的结果?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
}