全局作用域变量可在任何地方访问,如var globalVar;函数作用域变量仅在函数内有效,使用var声明;块级作用域由let和const实现,限于{}内;变量查找遵循作用域链,从局部到全局。

JavaScript 变量的作用域决定了变量在代码中哪些位置可以被访问。理解作用域有助于写出结构清晰、避免冲突的代码。
在函数外部声明的变量拥有全局作用域,可以在代码的任何地方被访问。
示例:
var globalVar = "我是全局变量";function test() { console.log(globalVar); // 正常输出 }
test();
console.log(globalVar); // 全局可访问
在函数内部用 var 声明的变量只能在该函数内访问,外部无法获取。
示例:
function myFunction() { var localVar = "我是局部变量"; console.log(localVar); }
myFunction();
// console.log(localVar); // 报错:localVar is not defined
使用 let 和 const 声明的变量具有块级作用域,只在对应的 { } 内有效,比如 if、for、while 等语句块中。
示例:
if (true) { let blockVar = "块级变量"; console.log(blockVar); // 正常输出 }
// console.log(blockVar); // 报错:blockVar is not defined
同样适用于 const:
const PI = 3.14;
PI 不能重新赋值,且作用域也受块限制。
当在函数内部访问一个变量时,JavaScript 会先查找本地作用域,如果找不到,就向上一级作用域查找,直到全局作用域。
示例:
var outer = "外层变量";function outerFunc() { var inner = "内层变量"; function innerFunc() { console.log(outer); // 找到全局变量 console.log(inner); // 找到父函数变量 } innerFunc(); }
outerFunc();
基本上就这些。合理使用 var、let、const 能帮助你更好控制变量可见范围,减少命名冲突和意外修改。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号