console.log("var 声明前:", lessonType); var lessonType = "JavaScript"; console.log("var 声明后:", lessonType); // console.log("let 声明前:", chapterType); // let 在声明前处于暂时性死区,直接访问会报错。 function compareScope() { if (true) { var lessonName = "变量"; let chapterName = "作用域"; const stage = "进阶"; console.log("块内:", lessonName, chapterName, stage); } console.log("块外仍能访问 var:", lessonName); // console.log(chapterName); // chapterName 是 let 声明的块级作用域变量,离开 if 代码块后就不能访问。 } compareScope(); const level = "核心阶段"; console.log("const 初始值:", level); // level = "下一阶段"; // const 不能被重新赋值,否则会报错。