<script type=”text/javascript”>
var a,b;
(function(){
alert(a);
alert(b);
var a=b=3;
alert(a);
alert(b);
})();
alert(a);
alert(b);
</script>
undefined,undefined,3,3,undefined,3,
最后的弹出a,b的值为什么是undefined,3....
var a, b; (function() { //第一个执行,发现a在下面已经申明了,但是在之前调用 所以是undefined alert(a); //第二个执行,发现b在下面已经申明了,但是在之前调用 所以是undefined alert(b); var a = b = 3; //第三个执行,发现a在上面已经申明了并且赋值了 3 alert(a); //第四个执行,发现a在上面已经申明了并且赋值了 3 alert(b); })(); //第五个执行,发现a在上面已经申明了但没有赋值undefined alert(a); //第六个执行,var a = b = 3;这样申明导致b变成了全局变量 3 alert(b);
谢谢 ,解答。。没仔细观察。。就发问了。.还是要谢谢