您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“JavaScript作用域應(yīng)用實例代碼分析”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
一個變量聲明在JavaScript函數(shù)內(nèi)部,成為函數(shù)的局部變量。
局部變量有局部作用域: 它們只能在函數(shù)中訪問。
//code here can not use carName <script> reFunction(); document.getElementById("demo").innerHTML = "carName的類型是 " + typeof carName; function reFunction() { var carName = "Volvo"; } </script>
由于局部變量只在它們的函數(shù)中被識別,所以具有相同名稱的變量可以在不同的函數(shù)中使用。
當函數(shù)啟動時創(chuàng)建局部變量,當函數(shù)完成時刪除。
函數(shù)外聲明的變量, 成為全局變量。
全局變量具有全局作用域: 網(wǎng)頁上的所有腳本和函數(shù)都可以訪問它。
<script> var carName = "Volvo"; //可以從任何腳本或函數(shù)訪問全局變量 myFunction(); function myFunction() { document.getElementById("demo").innerHTML = "I can display " + carName; } </script>
自動全局
如果給未聲明的變量賦值, 它會自動成為全局變量。
此代碼示例將聲明一個全局變量carName,即使賦的值是函數(shù)內(nèi)部。
myFunction(); // code here can use carName function myFunction() { carName = "Volvo"; }
不要創(chuàng)建全局變量,除非你非常需要,在嚴格模式下 "Strict Mode"自動全局變量將失敗。
在JavaScript中,全局作用域是完整的JavaScript環(huán)境。
在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>
全局變量(或函數(shù))可以覆蓋窗口變量(或函數(shù)). 任何函數(shù),包括窗口對象,都可以覆蓋全局變量和函數(shù).
表中是var,let和const之間的區(qū)別。
用var關(guān)鍵字聲明的變量不能具有塊作用域,{}可以從塊外部訪問在塊內(nèi)部聲明的變量:
{ var num = 50; } // num 能在這里使用
用let關(guān)鍵字聲明的變量可以具有“塊作用域”。
{}不能從塊外部訪問在塊內(nèi)部聲明的變量:
{ let num = 50; } // num不能在這里使用
聲明變量with const與let]涉及塊作用域類似。
{ const num = 50; } // num不能在這里使用
常量的值不能通過重新分配而更改,也不能重新聲明。
“JavaScript作用域應(yīng)用實例代碼分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。