JavaScript 作用域
作用域可存取變數(shù)的集合。
JavaScript 作用域
#在 JavaScript 中, 物件和函數(shù)同樣也是變數(shù)。
在 JavaScript 中, 作用域為可存取變量,對象,函數(shù)的集合。
JavaScript 函數(shù)作用域: 作用域在函數(shù)內(nèi)修改。
JavaScript 局部作用域
#變數(shù)在函數(shù)內(nèi)聲明,變數(shù)為局部作用域。
局部變數(shù):只能在函數(shù)內(nèi)部存取。
實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p>局部變量在聲明的函數(shù)內(nèi)可以訪問。</p> <p id="demo"></p> <script> myFunction(); document.getElementById("demo").innerHTML = "我可以顯示 " + typeof carName; function myFunction() { var carName = "Volvo"; } </script> </body> </html>
運(yùn)行程式嘗試
因為局部變數(shù)只作用於函數(shù)內(nèi),所以不同的函數(shù)可以使用相同名稱的變數(shù)。
局部變數(shù)在函數(shù)開始執(zhí)行時創(chuàng)建,函數(shù)執(zhí)行完後局部變數(shù)會自動銷毀。
JavaScript 全域變數(shù)
#變數(shù)在函數(shù)外定義,即為全域變數(shù)。
全域變數(shù)有?全域作用域: 網(wǎng)頁中所有腳本和函數(shù)皆可使用。
實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p>全局變量在任何腳本和函數(shù)內(nèi)均可訪問。</p> <p id="demo"></p> <script> var carName = "Volvo"; myFunction(); function myFunction() { document.getElementById("demo").innerHTML = "我可以顯示 " + carName; } </script> </body> </html>
執(zhí)行程式嘗試
如果變數(shù)在函數(shù)內(nèi)沒有宣告(沒有使用var關(guān)鍵字),該變數(shù)為全域變數(shù)。
以下實例中 carName 在函數(shù)內(nèi),但是為全域變數(shù)。
實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p> 如果你的變量沒有聲明,它將自動成為全局變量: </p> <p id="demo"></p> <script> myFunction(); document.getElementById("demo").innerHTML = "我可以顯示 " + carName; function myFunction() { carName = "Volvo"; } </script> </body> </html>
運(yùn)行程式嘗試
HTML 中的全域變量
在HTML 中, 全域變數(shù)是window 物件: 所有資料變數(shù)都屬於window 物件。
實例
<!DOCTYPE html>
<html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p> 在 HTML 中, 所有全局變量都會成為 window 變量。 </p> <p id="demo"></p> <script> myFunction(); document.getElementById("demo").innerHTML = "我可以顯示 " + window.carName; function myFunction() { carName = "Volvo"; } </script> </body> </html>
執(zhí)行程式嘗試