昨天面试第一题

版权声明:本文为博主原创文章,未经博主允许不得转载。 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   但原来的值不变  也就是说   局部变量定义多次  栈中的值没有改变 它就不会变


猜你喜欢

转载自blog.csdn.net/for_cxc/article/details/52180102