JavaScript作用域

JavaScript作用域

JavaScript 作用域

❮ 上一個 下一個 ❯

作用域決定了變數的可訪問性(可見性)。

JavaScript 變數有 3 種作用域

塊作用域

函式作用域

全域性作用域

塊作用域

在 ES6 (2015) 之前,JavaScript 變數只有全域性作用域和函式作用域。

ES6 引入了兩個重要的 JavaScript 新關鍵字:let 和 const。

這兩個關鍵字在 JavaScript 中提供了塊作用域。

在 { } 塊內宣告的變數不能從塊外訪問

示例

{ let x = 2;

}// 此處不能使用 x

使用 var 關鍵字宣告的變數不能具有塊作用域。

在 { } 塊內宣告的變數可以從塊外訪問。

示例

{ var x = 2;

}// 此處可以使用 x

區域性作用域

在函式內宣告的變數對該函式是區域性的

示例

// 此處的程式碼不能使用 carNamefunction myFunction() { let carName = "Volvo"; // 此處的程式碼可以使用 carName}

// 此處的程式碼不能使用 carName

自己動手試一試 »

區域性變數具有函式作用域

它們只能在函式內部訪問。

由於區域性變數只能在其函式內識別,因此不同函式可以使用同名變數。

區域性變數在函式開始時建立,並在函式完成時刪除。

函式作用域

JavaScript 具有函式作用域:每個函式都會建立一個新的作用域。

在函式內部定義的變數無法從函式外部訪問(可見)。

使用 var、let 和 const 宣告的變數在函式內部宣告時非常相似。

它們都具有函式作用域

function myFunction() { var carName = "Volvo"; // 函式作用域

}

function myFunction() { let carName = "Volvo"; // 函式作用域

}

function myFunction() { const carName = "Volvo"; // 函式作用域

}

全域性 JavaScript 變數

在函式外部宣告的變數會變成全域性變數。

示例

let carName = "Volvo";// 此處的程式碼可以使用 carNamefunction myFunction() {// 此處的程式碼也可以使用 carName}

自己動手試一試 »

全域性變數具有全域性作用域

網頁上的所有指令碼和函式都可以訪問它。

全域性作用域

全域性宣告的變數(任何函式外部)具有全域性作用域。

全域性變數可以從 JavaScript 程式的任何位置訪問。

在塊外部宣告的變數(使用 var、let 和 const)非常相似。

它們都具有全域性作用域

var x = 2; // 全域性作用域

let x = 2; // 全域性作用域

const x = 2; // 全域性作用域

JavaScript 變數

在 JavaScript 中,物件和函式也是變數。

作用域決定了變數、物件和函式在程式碼不同部分的可訪問性。

自動全域性

如果你給一個未宣告的變數賦值,它將自動成為全域性變數。

此程式碼示例將宣告一個全域性變數 carName,即使該值是在函式內部賦值的。

示例

myFunction();// 此處的程式碼可以使用 carNamefunction myFunction() { carName = "Volvo";}

自己動手試一試 »

嚴格模式

所有現代瀏覽器都支援在“嚴格模式”下執行 JavaScript。

在本教程的後續章節中,您將瞭解更多關於如何使用嚴格模式。

在“嚴格模式”下,未宣告的變數不會自動成為全域性變數。

HTML 中的全域性變數

使用 JavaScript,全域性作用域是 JavaScript 環境。

在 HTML 中,全域性作用域是 window 物件。

使用 var 關鍵字定義的全域性變數屬於 window 物件

示例

var carName = "Volvo";// 此處的程式碼可以使用 window.carName

自己動手試一試 »

使用 let 關鍵字定義的全域性變數不屬於 window 物件

示例

let carName = "Volvo";// 此處的程式碼不能使用 window.carName

自己動手試一試 »

警告

除非您打算這樣做,否則請勿建立全域性變數。

您的全域性變數(或函式)可能會覆蓋 window 變數(或函式)。任何函式,包括 window 物件,都可以覆蓋您的全域性變數和函式。

JavaScript 變數的生命週期

JavaScript 變數的生命週期從宣告開始。

函式(區域性)變數在函式完成時被刪除。

在 Web 瀏覽器中,全域性變數在關閉瀏覽器視窗(或選項卡)時被刪除。

函式引數

函式引數(形參)在函式內部充當區域性變數。

❮ 上一個 下一個 ❯

★ +1

W3schools 學習路徑

跟蹤您的進度 - 免費!

登入 註冊

🎈 相关推荐

请问大智慧是如何复权的?大智慧能复权吗?
bt365最新网址

请问大智慧是如何复权的?大智慧能复权吗?

📅 06-29 👀 7059
三星手机报价
365官方登录入口

三星手机报价

📅 07-29 👀 1055
橙色寓意和象征意义
bat365手机版官网

橙色寓意和象征意义

📅 08-26 👀 2915