共计 264 个字符,预计需要花费 1 分钟才能阅读完成。
在 ES6 之前,JavaScript 没有块级作用域 (一对花括号{} 即为一个块级作用域),只有全局作用域和函数作用域。变量提升即将变量声明提升到它所在作用域的最开始的部分函数声明才存在函数提升
var num = 20;
function test(){
console.log(num); // 20
num = 10; // 去掉了 var 就变成定义了全局变量了
console.log(num); // 10
}
test();
console.log(num); // 10
外面的是全局的。里面的可以访问它,里面定义的在输出后面,且不能变量提升。所以,就输出外面的 20 了
正文完
发表至: javascript
2019-03-06