let vs var 在全局范围内
let vs var in the global scope
为什么这会按预期打印名称:
var firstName = 'Charlie',
lastName = "Brown"
function showFullName() {
console.log(this.firstName+' '+this.lastName);
}
window.showFullName();
但是,如果我将 'var' 替换为 'let',我会得到 'undefined' 的 firstName 和 lastName?
我还看到使用 'var' 声明的变量附加到 window 对象,但是那些使用 'let'.
声明的变量
感谢您的帮助。
Let 允许声明限制在特定范围内的变量,可以是块或表达式。其中 var 用于全局或局部声明。我们可以使用 var 而不是 let,但反过来会失败。
为什么这会按预期打印名称:
var firstName = 'Charlie',
lastName = "Brown"
function showFullName() {
console.log(this.firstName+' '+this.lastName);
}
window.showFullName();
但是,如果我将 'var' 替换为 'let',我会得到 'undefined' 的 firstName 和 lastName?
我还看到使用 'var' 声明的变量附加到 window 对象,但是那些使用 'let'.
声明的变量感谢您的帮助。
Let 允许声明限制在特定范围内的变量,可以是块或表达式。其中 var 用于全局或局部声明。我们可以使用 var 而不是 let,但反过来会失败。