var a,b;
(function(){
alert(a);
alert(b);
var a=b=3;
alert(a);
alert(b);}
)();
alert(a);
alert(b);
输出结果是undefined,undefined,3,3,undefined,3, 不明白为什么最后两个值的结果是这样的
4 回答
摩诃迦叶
TA贡献146条经验 获得超54个赞
function外的a,b是全局变量,没有赋值。 所以第一,二个alert,输出undefined。 然后你在function里又定义了两个变量a,b,注意,这里的a,b和全局变量a,b不是一个变量。 所以a=b=3,只是给局部变量赋值了,全局变量a,b还是没有值。 最后两个alert输出的是全局变量a,b的值,所以还是undefined。
添加回答
举报
0/150
提交
取消