贝利信息

javascript作用域是什么_变量在哪里可以访问

日期:2025-12-25 00:00 / 作者:夜晨
JavaScript作用域指变量和函数的可访问范围,分为全局、函数(var)和块级(let/const)作用域;全局变量全脚本可访问,var具函数作用域并提升,let/const具块级作用域且有暂时性死区;嵌套函数形成作用域链,支持闭包。

JavaScript作用域指的是变量和函数的可访问范围,也就是“变量在哪里可以被读取或修改”。它决定了代码中某个位置能否访问到某个变量,是理解JS执行逻辑的关键基础。

全局作用域

在最外层(不在任何函数或块内)声明的变量属于全局作用域,在整个脚本中都能访问。

函数作用域(var 的特性)

var 声明的变量具有函数作用域:只在声明它的函数内部有效,且存在变量提升(hoisting)。

块级作用域(let 和 const)

letconst 声明的变量具有块级作用域:仅在最近的一对大括号 { } 内有效(如 if、for、函数体、显式块)。

作用域链与嵌套函数

当函数嵌套时,内部函数可以访问外部函数的变量,形成作用域链。查找变量时,JS 引擎从当前作用域开始,逐级向外查找,直到全局作用域。