您好,登錄后才能下訂單哦!
本篇內容介紹了“什么是JavaScript作用域”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在JavaScript中,對象和函數也是變量。在JavaScript中,作用域是你可以訪問的變量、對象和函數的集合。
JavaScript 有函數作用域: 這個作用域在函數內變化。
一個變量聲明在JavaScript函數內部,成為函數的局部變量。
局部變量有局部作用域: 它們只能在函數中訪問。
//code here can not use carName <script> reFunction(); document.getElementById("demo").innerHTML = "carName的類型是 " + typeof carName; function reFunction() { var carName = "Volvo"; } </script>
由于局部變量只在它們的函數中被識別,所以具有相同名稱的變量可以在不同的函數中使用。
當函數啟動時創建局部變量,當函數完成時刪除。
函數外聲明的變量, 成為全局變量。
全局變量具有全局作用域: 網頁上的所有腳本和函數都可以訪問它。
<script> var carName = "Volvo"; //可以從任何腳本或函數訪問全局變量 myFunction(); function myFunction() { document.getElementById("demo").innerHTML = "I can display " + carName; } </script>
自動全局
如果給未聲明的變量賦值, 它會自動成為全局變量。
此代碼示例將聲明一個全局變量carName,即使賦的值是函數內部。
myFunction(); // code here can use carName function myFunction() { carName = "Volvo"; }
不要創建全局變量,除非你非常需要,在嚴格模式下 "Strict Mode"自動全局變量將失敗。
在JavaScript中,全局作用域是完整的JavaScript環境。
在HTML中,全局作用域是window對象。所有的全局變量都屬于window對象。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>項目</title> </head> <body style="background-color: aqua;"> <p> 在HTML中,所有的全局變量將成為窗口window變量。 </p> <p id="demo"></p> <script> var carName = "Volvo"; // code here can use window.carName document.getElementById("demo").innerHTML = "I can display " + window.carName; </script> </body> </html>
全局變量(或函數)可以覆蓋窗口變量(或函數). 任何函數,包括窗口對象,都可以覆蓋全局變量和函數.
表中是var,let和const之間的區別。
用var關鍵字聲明的變量不能具有塊作用域,{}可以從塊外部訪問在塊內部聲明的變量:
{ var num = 50; } // num 能在這里使用
用let關鍵字聲明的變量可以具有“塊作用域”。
{}不能從塊外部訪問在塊內部聲明的變量:
{ let num = 50; } // num不能在這里使用
聲明變量with const與let]涉及塊作用域類似。
{ const num = 50; } // num不能在這里使用
常量的值不能通過重新分配而更改,也不能重新聲明。
本文基于JavaScript,介紹了了函數作用域和變量作用域。介紹了變量中全局變量的幾種顯示的方法,在HTML中的全局變量應該如何去表示。通過案例的講解,讓讀者更好的去理解。
“什么是JavaScript作用域”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。