【JavaScript】JavaScript基础知识强化:变量提升、作用域逻辑及TDZ的全面解析
// 变量声明提升示例
console.log(globalVar); // 输出: undefined
var globalVar = "我是全局变量";
// 函数声明提升示例
foo(); // 输出: "foo 函数被调用了"
function foo() {
console.log("foo 函数被调用了");
}
// 块级作用域示例
for (var i = 0; i < 5; i++) {
console.log(i); // 输出: 0 1 2 3 4
}
console.log(i); // 输出: 5
// 立即执行函数示例
(function () {
var secret = "我是一个被立即执行的函数的变量";
console.log(secret); // 输出: "我是一个被立即执行的函数的变量"
}());
// TDZ (暂时性死区) 示例
var foo = "我在外面";
if (true) {
console.log(foo); // 抛出 ReferenceError
let foo = "我在里面";
}
在这个代码示例中,我们展示了JavaScript中的几个概念:变量提升、函数提升、块级作用域、立即执行函数以及TDZ(暂时性死区)。每一个示例都有相应的注释,展示了它们的行为和特点。
评论已关闭