首頁 > web前端 > js教程 > var、let、const 的範圍

var、let、const 的範圍

Linda Hamilton
發布: 2025-01-22 02:30:14
原創
219 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板