Javascript全局/局部变量


function myFunction() {
    console.log(a);
    console.log(foo());
    var a = 1;
    foo() {
        return 2;
    }
}
myFunction();
有人能解释一下上面函数的输出吗?当我尝试时,没有抛出任何输出。如果这是正确的,那么为什么会这样呢?

简单地说,应该在使用变量之前声明它们。

function myFunction() {
    var a = 1;
    var foo = function foo() {
        return 2;
    }
    console.log(a);
    console.log(foo());
}
myFunction();

最新更新