JavaScript作用域是变量和函数可访问的范围,分为全局、函数和块级三种;全局变量在脚本顶层声明,函数作用域由var定义,块级作用域由let/const在{}中定义;作用域链支持内层访问外层变量。

JavaScript 的作用域,简单说就是变量和函数能被访问的“地盘”。它不是运行时才决定的,而是在代码写好、函数定义那一刻就固定下来的(这叫词法作用域)。理解作用域,关键看变量在哪声明、用什么关键字声明、以及被包裹在什么结构里。
在 <script></script> 标签最外层、或独立 .js 文件的顶层直接声明的变量(比如用 var、let、const),就属于全局作用域。它们可以在任何地方被读取(除非被同名局部变量遮蔽)。
var a = 10; 和 let b = 20; 写在函数外面 → 全局可访问c = 30; → 自动挂到 window(浏览器)或 global(Node.js)上,也变成全局(但强烈不推荐)在函数体内用 var 声明的变量,只在该函数内有效;函数执行完,这个作用域通常就销毁了(闭包例外)。
var 变量互不可见,哪怕名字一样var
function fn() { var x = 5; } → x 在 fn 外调用会报 ReferenceError
let 和 const 划出的小圈子用 {} 包裹的代码块(如 if、for、纯 {})中,用 let 或 const 声明的变量,只在该块内有效。
宁志NZCMS网站管理系统是国内知名建站软件,它是由宁志公司自主研发的一款自助建站系统软件。系统操作简单,无复杂的安装设置要求,适合广大工作人员使用。 产品特点: 安全、稳定、美观、实用、易操作,内部局域网和互联网均可安装使用! 面向用户:中小企业,公司,个人,外贸公司网站建设平台。 安全机制:NZCMS采用宁志公司自主研的核心框架,代码开发严谨,数据库加密保护,防
0
立即学习“Java免费学习笔记(深入)”;
if (true) { let y = 100; } → y 在 if 外无法访问var 在块中声明仍属于函数或全局作用域,不会产生块级限制let 声明同名变量会报错,var 则允许(只是覆盖)当访问一个变量时,JS 引擎先在当前作用域找;找不到就往它的外层作用域找,一直追到全局作用域为止。这就是作用域链。
let 或 var 声明的变量以上就是Javascript的作用域是什么_全局和局部作用域如何理解?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号