js面试题

来源:互联网 发布:json value processor 编辑:程序博客网 时间:2024/06/04 18:41
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



为什么程序输出这样


正确解析:

var a,b;
(function(){
    alert(a);//1.输出undefined
    alert(b);//2.输出undefined
    var a=b=3;
    alert(a);//3.输出3
    alert(b);//4.输出3
})();
alert(a);//5.输出undefined,只有var a=b=3; a是局部变量

alert(b);//输出3,   var a=b=3; b是全局变量


var a,b;
(function(){
    alert(a+"1");
    alert(b+"2");
    var a=b=3;
    alert(a+"3");
    alert(b+"4");
})();
alert(a+"5");
alert(b+"6");


全局变量会一直保存在内存里。






0 0
原创粉丝点击