首頁 > web前端 > js教程 > 主體

JavaScript 中的作用域

WBOY
發布: 2024-08-14 10:31:10
原創
991 人瀏覽過

Scopes in Javascript

大家好,歡迎來到我的部落格

我是斯瓦爾南杜。在這篇部落格中,我將解釋 JavaScript 中的 Scopping 概念。

Javascript 是最有趣的語言之一,它在 Scopping 中做了一些有趣的事情。如果您掌握了 Javascript 的範圍,它將幫助您編寫更多無錯誤的程式碼。繼續閱讀本文,我們將深入探討 Javascript 的範圍。

什麼是範圍?
範圍是 Javascript 的概念,指的是可以存取值和表達式的目前執行上下文。簡而言之,作用域決定了程式碼中可以存取或引用變數和函數的位置。

如果您無法獲得這些技術定義,請不要擔心。在這篇文章中,我將給出現實生活中的實際例子,以便更好地理解。

作用域主要有兩種- 1. 全域作用域
2. 本地範圍

兩種類型的局部作用域是-區塊作用域和功能作用域。

想像一下,您正在組織朋友的婚禮活動,並且您有不同的工作需要管理,例如裝飾、邀請函、餐飲等。每項工作/任務都有您需要做的特定事情,並且
顯然,您不想互相干擾這些任務。所以我們使用 javascript 作用域概念來解決這個問題。

全球範圍:

全域範圍就像婚禮活動的主要組織者,在這種情況下,您是全域範圍,可以存取所有任務(變數),如裝飾、邀請函、餐飲等。您可以查看和控制每個部分事件的。

當在任何函數/區塊之外宣告的變數位於全域範圍內時。這些全域變數可以從程式碼中的任何位置存取。

`var globalVariable = "我是全域變數";

函數 func() {
console.log(globalVariable);

}

func(); // 「我是一個全域變數」
console.log(全域變數); // 也可以在這裡存取
`
在上面的範例中,globalVariable 是在程式碼的全域作用域中聲明的,因此可以在此程式碼中的任何位置存取它。

本地範圍:

當函數或區塊內宣告的變數位於局部範圍內。這些變數只能在函數或區塊內部存取。

現在在你朋友的婚禮上,每項任務都必須有一個任務管理器。對於餐飲,將有一名餐飲經理,類似的裝飾經理和邀請經理。每位管理者獨立工作,不干涉他人。

A.功能範圍:

Var:每當我們在函數內部使用 var 時,如果我們使用外部函數,則變數將獲得函數作用域,無論它是否在區塊中關閉,它都會給出一個全域變數。

`函數 func() {
var localVariable = "我來自局部變數";
console.log(localVariable); // localVariable 在這裡可以存取
}

func();
console.log(localVariable); //給出錯誤:localVariable未定義
`
對於上面的範例,您可以想像餐飲經理有一個僅與餐飲相關的菜單項目(變數)清單。類似地,函數內部宣告的變數僅與該函數相關(意味著可存取)。

B.塊範圍:

Let:每當我們用 let 初始化變數時,它總是會得到封閉區塊的範圍。 'let' 也不允許重新聲明。

Const:與 'let' 類似,但不能為變數重新分配新值(這在 'let' 中是可能的)。

`函數 func() {
如果(真){
let blockVariable = "我來自區塊作用域變數";
console.log(區塊變數); // blockVariable 在這裡可以存取
}
console.log(blockVar); // 錯誤:blockVariable 未定義
}

func();
`
這裡的 blockVariable 只能在 if 區塊中訪問,因為它是用 'let' 聲明的。

對於上面的例子,現在在餐飲工作中,可能會有一些較小的任務,例如「準備甜點」和「準備雞肉」。如果餐飲經理寫下香料/甜點清單(區塊中的變數),則僅在準備雞肉/甜點時相關/有用,並在任務結束後將其收起。

總之,Javascript 中的 Socpe 是關於控制變數的存取位置,類似地,您在朋友的婚禮上管理任務。

我希望您了解 Javascript 的範圍以及 let 和 var 之間的主要差異。如果您願意,可以關注即將推出的 Javascript 博客,並推薦我在寫作中需要改進的地方。

謝謝你? .

以上是JavaScript 中的作用域的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!