此题我错了 还是too young too simple

var a =10;
var f = function(){
var a = 100;
alert(a);
alert(this.a);
var a;
alert(a);
}
f();
问:输出什么


今天自己又验证了一下,得出正确答案

第一个a=10  是window对象的a

第二个 a=100 是局部变量

第一个输出  100 毫无疑问

第二个应该输出 10   this代表window对象

第三个输出 100  虽然再次重新定义变量a   但原来的值不变  也就是说   局部变量定义多次  栈中的值没有改变 它就不会变