块语句(大括号“{}”中间的语句),如 if 和 switch 条件语句或 for 和 while 循环语句,不像函数,它们不会创建一个新的作用域。在块语句中定义的变量将保留在它们已经存在的作用域中。
if (true) { // 'if' 条件语句块不会创建一个新的作用域 var name = 'Hamma'; // name 依然在全局作用域中}console.log(name); // logs 'Hamma'