var a = 10; // 全局使用域
function foo() {
// var a 的声明将被提升到到函数的顶部。
// 比如:var a
console.log(a); // 打印 undefined
// 实际初始化值20只发生在这里
var a = 20; // local scope
}
问题二:我们使用const和let代替var输出是否相同
[JavaScript] 纯文本查看复制代码
var a = 10;
function foo() {
console.log(a); // ??
let a = 20;
}
foo();