核心区别总结作用域函数作用域块级作用域块级作用域变量提升提升并初始化为undefined提升但不初始化(TDZ)提升但不初始化(TDZ)重新赋值允许允许不允许重复声明允许不允许不允许循环中的行为共享同一个变量每次迭代创建新变量不能用于传统for循环作用域详解1. 函数作用域 (var) function test() { var x = 1; if (true) { var x = 2; // 同一个变量 } console.log(x); // 2 } 2. 块级作用域 (let/const) function test() { let x = 1; if (true) { let x = ...