让vs var在全局范围

时间:2017-03-25 21:00:11

标签: javascript var let

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

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

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

window.showFullName();

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

我还看到使用'var'声明的变量附加到窗口Object,但那些声明使用'let'。

感谢帮助。

1 个答案:

答案 0 :(得分:1)

允许声明限于特定范围的变量,可以是块或表达式。 var用于全局或本地声明。我们可以使用var而不是let,但反向失败。