web前端-JavaScript 作用域 -010

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 對象可以覆蓋全局變量和函數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章