【问题标题】:let vs var in the global scope [duplicate]全局范围内的 let vs var [重复]
【发布时间】:2017-08-18 17:07:27
【问题描述】:

为什么会按预期打印名称:

var firstName = 'Charlie',
    lastName  = "Brown"

function showFullName() {
    console.log(this.firstName+' '+this.lastName);
}

window.showFullName();

但是,如果我将 'var' 替换为 'let',我会得到 firstName 和 lastName 的 'undefined'?

我还看到使用“var”声明的变量附加到窗口对象,但使用“let”声明的变量。

感谢您的帮助。

【问题讨论】:

    标签: javascript var let


    【解决方案1】:

    Let 允许声明限制在特定范围内的变量,可以是块或表达式。其中 as var 用于全局或局部声明。我们可以使用 var 代替 let,但反过来会失败。

    【讨论】:

      猜你喜欢
      • 2018-03-13
      • 2015-01-30
      • 2014-11-16
      • 2018-06-08
      • 2016-12-12
      • 2020-09-02
      • 2016-04-05
      • 2019-09-28
      相关资源
      最近更新 更多