版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/for_cxc/article/details/52180102
此题我错了 还是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 但原来的值不变 也就是说 局部变量定义多次 栈中的值没有改变 它就不会变