首页 > web前端 > js教程 > var、let、const 的范围

var、let、const 的范围

Linda Hamilton
发布: 2025-01-22 02:30:14
原创
263 人浏览过

Scope of var, let, const

JavaScript变量作用域详解

变量的作用域指的是程序中可以访问该变量的区域。理解变量作用域对于编写高效、无错误的代码至关重要。

JavaScript 中存在三种类型的变量作用域:

  • var
  • let
  • const

var 关键字

  • var 关键字最早于 1995 年随 JavaScript 的首次发布而引入。
  • 使用 var 声明的变量具有全局作用域,这意味着程序的任何部分都可以访问该变量。
<code class="language-javascript">var x = 10;
function inner() {
    console.log(x); // 输出:10
}
console.log(x); // 输出:10</code>
登录后复制
  • 使用 var 声明的变量会被提升到文件顶部。这意味着可以在变量初始化之前尝试访问它,但输出结果将是 undefined,因为我们尚未为变量赋值。
<code class="language-javascript">console.log(x); // 输出:undefined
var x = 10;
console.log(x); // 输出:10</code>
登录后复制

let 关键字

  • let 关键字于 2015 年随 ECMAScript 6 的引入而出现,它提供了块级作用域的功能。
  • 使用 let 初始化的变量具有块级作用域。因此,在其他作用域(例如函数或全局作用域)中无法访问该变量。
  • var 不同,在声明之前访问使用 let 声明的变量会引发错误,这是由于暂时性死区 (TDZ) 造成的。
<code class="language-javascript">console.log(x); // 输出:引发错误
let x = 10;</code>
登录后复制
  • 同样,您也无法在函数内部访问块级变量。
<code class="language-javascript">let x = 10;
function inner() {
    console.log(x); // 输出:引发错误
}</code>
登录后复制

const 关键字

  • 这是另一种块级作用域变量,此外,使用 const 声明的变量必须在同一行进行初始化。
<code class="language-javascript">const PI = 3.14;
console.log(PI); // 输出:3.14</code>
登录后复制
  • 此关键字在 ECMAScript 6 中引入,用于存储常量值,例如环境变量、访问令牌等。主要用于存储将来不会更改的任何常量值。
  • 如果尝试更改使用 const 声明的变量的值,则会在运行时引发 TypeError: Assignment to constant variable 错误。
<code class="language-javascript">const PI = 3.14;
PI = 3.5; // 输出:TypeError: Assignment to constant variable.</code>
登录后复制

祝您编程愉快!

以上是var、let、const 的范围的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板