在看《 JavaScript 高级程序设计(第 4 版)》第 3 章第 3 节变量 看迷糊了
- var 声明作用域 关键的问题在于,使用 var 操作符定义的变量会成为包含它的函数的局部变量。比如,使用 var 在一个函数内部定义一个变量,就意味着该变量将在函数退出时被销毁:
function test() {
var message = "hi"; // 局部变量
}
test();
console.log(message); // 出错!
}
下面这个代码为什么没有报错啊
if (true) {
var name = 'Matt';
console.log(name); // Matt
}
console.log(name); // Matt
这个 name 变量 怎么变成全局变量了