天天看點

JavaScript 作用域

作用域是可通路變量的集合。

在 JavaScript 中, 對象和函數同樣也是變量。

在 JavaScript 中, 作用域為可通路變量,對象,函數的集合。

JavaScript 函數作用域: 作用域在函數内修改。

變量在函數内聲明,變量為局部作用域。

局部變量:隻能在函數内部通路。

// 此處不能調用 carName 變量

function myFunction() {

var carName = "Volvo";

// 函數内可調用 carName 變量

}

因為局部變量隻作用于函數内,是以不同的函數可以使用相同名稱的變量。

局部變量在函數開始執行時建立,函數執行完後局部變量會自動銷毀。

變量在函數外定義,即為全局變量。

全局變量有 全局作用域: 網頁中所有腳本和函數均可使用。 

var carName = " Volvo";

// 此處可調用 carName 變量

如果變量在函數内沒有聲明(沒有使用 var 關鍵字),該變量為全局變量。

以下執行個體中 carName 在函數内,但是為全局變量。

carName = "Volvo";

JavaScript 變量生命周期在它聲明時初始化。

局部變量在函數執行完畢後銷毀。

全局變量在頁面關閉後銷毀。

函數參數隻在函數内起作用,是局部變量。

在 HTML 中, 全局變量是 window 對象: 所有資料變量都屬于 window 對象。

//此處可使用 window.carName

JavaScript 作用域

你的全局變量,或者函數,可以覆寫 window 對象的變量或者函數。

局部變量,包括 window 對象可以覆寫全局變量和函數。