欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解JavaScript 作用域

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

作用域是可訪問變量的集合。

JavaScript 作用域

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

在 JavaScript 中, 作用域為可訪問變量,對象,函數(shù)的集合。

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

JavaScript 局部作用域

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

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

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

因為局部變量只作用于函數(shù)內(nèi),所以不同的函數(shù)可以使用相同名稱的變量。

局部變量在函數(shù)開始執(zhí)行時創(chuàng)建,函數(shù)執(zhí)行完后局部變量會自動銷毀。

JavaScript 全局變量

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

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

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

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

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

// 此處可調(diào)用 carName 變量
 
function myFunction() {
  carName = "Volvo";
  // 此處可調(diào)用 carName 變量
}

JavaScript 變量生命周期

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

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

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

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

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

HTML 中的全局變量

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

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

你知道嗎?

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

補充

ES6 中的 let 關鍵字

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

let 語法:

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

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

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

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 作用域的詳細內(nèi)容,更多關于JavaScript 作用域的資料請關注腳本之家其它相關文章!

相關文章

  • js利用FileReader讀取本地文件或者blob方式

    js利用FileReader讀取本地文件或者blob方式

    這篇文章主要介紹了js利用FileReader讀取本地文件或者blob方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • js中的面向對象入門

    js中的面向對象入門

    本文主要介紹了js中的面向對象的相關知識,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • JS實現(xiàn)的對象去重功能示例

    JS實現(xiàn)的對象去重功能示例

    這篇文章主要介紹了JS實現(xiàn)的對象去重功能,結合實例形式分析了javascript針對json對象的遍歷、判斷、運算實現(xiàn)去重功能相關操作技巧,需要的朋友可以參考下
    2019-06-06
  • 純JavaScript實現(xiàn)的分頁插件實例

    純JavaScript實現(xiàn)的分頁插件實例

    這篇文章主要介紹了純JavaScript實現(xiàn)的分頁插件,涉及javascript結合php動態(tài)實現(xiàn)分頁效果的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • 詳解JavaScript 事件流

    詳解JavaScript 事件流

    這篇文章主要介紹了JavaScript 事件流的相關資料,幫助大家更好的理解和學習JavaScript,感興趣的朋友可以了解下
    2020-09-09
  • ECMAScript6塊級作用域及新變量聲明(let)

    ECMAScript6塊級作用域及新變量聲明(let)

    這篇文章主要介紹了ECMAScript6塊級作用域及新變量聲明(let) 的相關資料,需要的朋友可以參考下
    2015-06-06
  • bootstrap導航、選項卡實現(xiàn)代碼

    bootstrap導航、選項卡實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了bootstrap導航、選項卡的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • BootStrap響應式導航條實例介紹

    BootStrap響應式導航條實例介紹

    響應式導航條就是可以在不同的設備下查看不同的效果。這篇文章主要介紹了BootStrap響應式導航條實例介紹的相關資料,小編認為本文介紹的非常的不錯,特此分享給大家,供大家參考
    2016-05-05
  • 基于JS實現(xiàn)9種不同的面包屑和分布式多步驟導航效果

    基于JS實現(xiàn)9種不同的面包屑和分布式多步驟導航效果

    本文是小編給大家分享的基于js實現(xiàn)的9種不同風格的面包屑和分布式多步驟導航效果,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2017-02-02
  • JS+CSS繪制棋盤格的示例代碼

    JS+CSS繪制棋盤格的示例代碼

    在這篇文章中,將為大家展示如何使用css Flex-box和一些JavaScript來設計棋盤。文中的示例代碼講解詳細,感興趣的可以了解一下
    2022-05-05

最新評論