Files
front-end-example/03-javascript-core/11-var-and-scope/starter.js
2026-03-19 15:17:29 +08:00

36 lines
1.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

console.log("var 声明前:", lessonType);
var lessonType = "JavaScript";
// 如果你取消下面两行注释,会报错,因为 let 在声明前不能访问。
// console.log("let 声明前:", chapterType);
// let chapterType = "作用域";
function compareScope() {
if (true) {
var lessonName = "变量";
let chapterName = "作用域";
const stage = "进阶";
console.log("块内:", lessonName, chapterName, stage);
}
var lessonName = "变量";
let chapterName = "作用域";
const stage = "进阶";
console.log("块内:", lessonName);
// 任务:
// 1. 输出 lessonName
// 2. 不要直接在这里输出 chapterName否则会报错
// 3. 用一句注释说明为什么
}
compareScope();
// 任务:
// 4. 试着重新给 const 声明的值赋值
// 5. 观察会发生什么
/*观察 `var` 声明前为什么能访问到 `undefined`
- 用 `var` 声明一个函数内部变量
- 用 `let` 声明一个代码块内部变量
- 在可访问的位置输出它们
- 观察为什么 `var` 在块外还能访问,而 `let` 不行
- 再写一段代码证明 `const` 不能被重新赋值*/