JavaScript 作用域
作用域是可訪問變數的集合。
JavaScript 作用域
在 JavaScript 中, 物件和函式同樣也是變數。
在 JavaScript 中, 作用域為可訪問變數,物件,函式的集合。
JavaScript 函式作用域: 作用域在函式內修改。
JavaScript 區域性作用域
變數在函式內宣告,變數為區域性作用域。
區域性變數:只能在函式內部訪問。
例項
// 此處不能呼叫 carName 變數
function myFunction() {
var carName = "Volvo";
// 函式內可呼叫 carName 變數
}
嘗試一下 ?
因為區域性變數只作用於函式內,所以不同的函式可以使用相同名稱的變數。
區域性變數在函式開始執行時建立,函式執行完後區域性變數會自動銷燬。
JavaScript 全域性變數
變數在函式外定義,即為全域性變數。
全域性變數有 全域性作用域: 網頁中所有指令碼和函式均可使用。
例項
var carName = " Volvo";
// 此處可呼叫 carName 變數
function myFunction() {
// 函式內可呼叫 carName 變數
}
嘗試一下 ?
如果變數在函式內沒有宣告(沒有使用 var 關鍵字),該變數為全域性變數。
以下例項中 carName 在函式內,但是為全域性變數。
例項
// 此處可呼叫 carName 變數
function myFunction() {
carName = "Volvo";
// 此處可呼叫 carName 變數
}
嘗試一下 ?
JavaScript 變數生命週期
JavaScript 變數生命週期在它宣告時初始化。
區域性變數在函式執行完畢後銷燬。
全域性變數在頁面關閉後銷燬。
函式引數
函式引數只在函式內起作用,是區域性變數。
HTML 中的全域性變數
在 HTML 中, 全域性變數是 window 物件: 所有資料變數都屬於 window 物件。
例項
//此處可使用 window.carName
function myFunction() {
carName = "Volvo";
}
嘗試一下 ?
你知道嗎?
![]() |
你的全域性變數,或者函式,可以覆蓋 window 物件的變數或者函式。 區域性變數,包括 window 物件可以覆蓋全域性變數和函式。 |
---|