最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解JavaScript 作用域

 更新時(shí)間:2020年07月14日 16:40:00   作者:菜鳥(niǎo)教程  
這篇文章主要介紹了JavaScript 作用域的相關(guān)資料,文中講解非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

作用域是可訪問(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)。

// 此處不能調(diào)用 carName 變量
function myFunction() {
  var carName = "Volvo";
  // 函數(shù)內(nèi)可調(diào)用 carName 變量
}

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

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

JavaScript 全局變量

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

全局變量有 全局作用域: 網(wǎng)頁(yè)中所有腳本和函數(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),但是為全局變量。

// 此處可調(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ì)象。

//此處可使用 window.carName
 
function myFunction() {
  carName = "Volvo";
}

你知道嗎?

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

補(bǔ)充

ES6 中的 let 關(guān)鍵字

let 允許你聲明一個(gè)作用域被限制在塊級(jí)中的變量、語(yǔ)句或者表達(dá)式。與var關(guān)鍵字不同的是,它聲明的變量只能是全局或者整個(gè)函數(shù)塊的。

let 語(yǔ)法:

let var1 [= value1] [, var2 [= value2]] [, ..., varN [= valueN]];

let 聲明的變量只在其聲明的塊或子塊中可用,這一點(diǎn),與 var 相似。二者之間最主要的區(qū)別在于 var 聲明的變量的作用域是整個(gè)封閉函數(shù)。

let 和 var 的區(qū)別代碼實(shí)例:

function varTest() {
 var x = 1;
 if (true) {
  var x = 2; // 同樣的變量!
  console.log(x); // 2
 }
 console.log(x); // 2
}

function letTest() {
 let x = 1;
 if (true) {
  let x = 2; // 不同的變量
  console.log(x); // 2
 }
 console.log(x); // 1
}

以上就是詳解JavaScript 作用域的詳細(xì)內(nèi)容,更多關(guān)于JavaScript 作用域的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

阜新市| 梅河口市| 凤城市| 兴化市| 土默特右旗| 徐水县| 霍城县| 六安市| 个旧市| 泗洪县| 平顶山市| 屏南县| 宁武县| 玉田县| 芜湖市| 津市市| 万源市| 泽州县| 永昌县| 宾阳县| 平顶山市| 集贤县| 三原县| 嘉荫县| 扶风县| 视频| 香格里拉县| 丰顺县| 丹凤县| 陆良县| 朝阳县| 托克逊县| 敖汉旗| 南涧| 全椒县| 新郑市| 保康县| 迭部县| 邵阳县| 图们市| 武隆县|