作用域的理解

2018-11-17  本文已影响11人  向布谷鸟说早安

前几天面试遇到这个问题:

var  a = 2;
function b() {
    console.log(a);
    a = 4;
    var a = 3;
    console.log(a);
}

b();
console.log(a);

打印结果是undefined,2,3
其实我知道作用域会变量提升,把var放到最前面,可是面试的时候我又和自己较上劲了,我想不通为什么函数如果在下面声明的整个作用域都可以用,而变量却不可以。
于是写了4,2,3。懊悔,还是自己理解的不够深刻吧。

上一篇 下一篇

猜你喜欢

热点阅读