【问题标题】:How exactly works the Javascript variable scope? [duplicate]Javascript 变量范围究竟是如何工作的? [复制]
【发布时间】:2015-06-21 14:49:08
【问题描述】:

我是 JavaScript 的新手,我对变量范围有一些疑问。

所以我试着做这个例子:

function outer() {

    alert("INTO outer()");
    var val1 = 1;

    inner();

    alert(val2);
}

function inner() {
    alert("INTO inner()");

    val2 = 2;


}

outer();

在这个简单的例子中,执行 outer() 函数,在这个函数中我调用 inner() 函数来声明和初始化 val2强>变量。然后回到 outer() 函数,从这里我访问并打印 val2 值。

所以我觉得在 Javascript 中我可以从外部函数访问在内部函数中定义的变量,但我不能从内部函数访问在外部函数中声明的变量。

这是真的吗?如果是真的为什么会这样选择?

【问题讨论】:

    标签: javascript variables scope


    【解决方案1】:

    是的。在函数“outer”中使用 var 使 val1 成为局部变量,而函数“inner”的 val2 具有全局范围,因为没有使用关键字 var。

    【讨论】:

      【解决方案2】:

      “内部”函数中的声明缺少 var 关键字。这使得val2 成为全局 符号。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-26
        • 2019-10-12
        • 1970-01-01
        • 2023-03-16
        • 2012-10-07
        • 1970-01-01
        • 2013-05-20
        相关资源
        最近更新 更多