开发者社区 问答 正文

变量只声明会被覆盖掉吗

var a = 10;

function test () {
    a = 100;
    console.log(a);      //100
    console.log(this.a); //10
    var a;
    console.log(a);      //为什么这个最后也是输出10了,讲道理的话应该是undefined,就算被覆盖难道不是被100 覆盖吗
}
test();

展开
收起
杨冬芳 2016-06-21 16:33:32 1711 分享 版权
1 条回答
写回答
取消 提交回答
  • IT从业
    var a = 10;
    
    function test () {
        a = 100;
        console.log(a);      //100
        console.log(this.a); //10
        var a;
        console.log(a);      //为什么这个最后也是输出10了,讲道理的话应该是undefined,就算被覆盖难道不是被100 覆盖吗
    }
    test();
    VM9973:6 100
    VM9973:7 10
    VM9973:9 100
    
    2019-07-17 19:45:06
    赞同 展开评论
问答地址: