2015
09-07

JavaScript 作用域

清華大佬耗費(fèi)三個(gè)月吐血整理的幾百G的資源,免費(fèi)分享!....>>>

JavaScript 作用域


作用域可訪問(wèn)變量的集合。


JavaScript 作用域

在 JavaScript 中, 對(duì)象和函數(shù)同樣也是變量。

在 JavaScript 中, 作用域?yàn)榭稍L問(wèn)變量,對(duì)象,函數(shù)的集合。

JavaScript 函數(shù)作用域: 作用域在函數(shù)內(nèi)修改。


JavaScript 局部作用域

變量在函數(shù)內(nèi)聲明,變量為局部作用域。

局部變量:只能在函數(shù)內(nèi)部訪問(wèn)。

實(shí)例

// 此處不能調(diào)用 carName 變量

function myFunction() {
??? var carName = "Volvo";

??? // 函數(shù)內(nèi)可調(diào)用 carName 變量

}

因?yàn)榫植孔兞恐蛔饔糜诤瘮?shù)內(nèi),所以不同的函數(shù)可以使用相同名稱的變量。

局部變量在函數(shù)開(kāi)始執(zhí)行時(shí)創(chuàng)建,函數(shù)執(zhí)行完后局部變量會(huì)自動(dòng)銷(xiāo)毀。


JavaScript 全局變量

變量在函數(shù)外定義,即為全局變量。

全局變量有 全局作用域: 網(wǎng)頁(yè)中所有腳本和函數(shù)均可使用。?

實(shí)例

var carName = " Volvo";

// 此處可調(diào)用 carName 變量

function myFunction() {

??? // 函數(shù)內(nèi)可調(diào)用 carName 變量

}


如果變量在函數(shù)內(nèi)沒(méi)有聲明(沒(méi)有使用 var 關(guān)鍵字),該變量為全局變量。

以下實(shí)例中 carName 在函數(shù)內(nèi),但是為全局變量。

實(shí)例

// 此處可調(diào)用 carName 變量

function myFunction() {
??? carName = "Volvo";

??? // 此處可調(diào)用 carName 變量

}



JavaScript 變量生命周期

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

局部變量在函數(shù)執(zhí)行完畢后銷(xiāo)毀。

全局變量在頁(yè)面關(guān)閉后銷(xiāo)毀。


函數(shù)參數(shù)

函數(shù)參數(shù)只在函數(shù)內(nèi)起作用,是局部變量。


HTML 中的全局變量

在 HTML 中, 全局變量是 window 對(duì)象: 所有數(shù)據(jù)變量都屬于 window 對(duì)象。

實(shí)例

//此處可使用 window.carName

function myFunction() {
??? carName = "Volvo";
}



你知道嗎?

Note 你的全局變量,或者函數(shù),可以覆蓋 window 對(duì)象的變量或者函數(shù)。
局部變量,包括 window 對(duì)象可以覆蓋全局變量和函數(shù)。

掃碼二維碼 獲取免費(fèi)視頻學(xué)習(xí)資料

編程學(xué)習(xí)