国产色诱美女免费视频|欧美精彩狠狠色丁香婷婷|91黑人|日本黄色小视频|欧美一级黄色视频在这里免费观看

IT培訓-高端面授IT培訓機構
云和教育:云和數據集團高端IT職業教育品牌
  • 國家級
    全民數字素養與技能培訓基地
  • 河南省
    第一批產教融合型企業建設培育單位
  • 鄭州市
    數字技能人才(碼農)培養評價聯盟

什么是作用域?JavaScript作用域有哪些?

  • 發布時間:
    2023-02-22
  • 版權所有:
    云和教育
  • 分享:

通常來說,一段代碼中所用到的名字(如變量名)并不總是有效和可用的,而限定這個名字的可用性的代碼范圍就是這個名字的作用域。作用域機制可以有效減少命名沖突的情況發生。本節將對作用域進行詳細講解。

作用域的分類

通過前面的學習,我們知道變量需要先聲明后使用,但這并不意味著聲明變量后就可以在任意位置使用該變量。例如,在函數中聲明一個age變量,在函數外進行訪問,就會出現age變量未定義的錯誤,示例代碼如下。

function info() {
    var age = 18;
}
info();
console.log(age); //報錯,提示age is not defined(age未定義)

從上述代碼可以看出,變量需要在它的作用范圍內才可以被使用,這個作用范圍稱為變量的作用域。JavaScript根據作用域使用范圍的不同,將其劃分為全局作用域、函數作用域和塊級作用域(ES6提供的)。上述示例聲明的age變量只能在info0函數體內才可以使用。

作用域的使用提高了程序邏輯的局部性,增強了程序的可靠性,減少了名字沖突。

全局作用域

作用于所有代碼執行的環境(整個 script 標簽內部)或者一個獨立的 js 文件處于全局作用域內的變量,稱為全局變量

局部作用域

作用于函數內的代碼環境,就是局部作用域。 因為跟函數有關系,所以也稱為函數作用域。處于局部作用域內的變量稱為局部變量如果函數內部,變量沒有聲明,直接賦值,也當全局變量看,但是強烈不推薦但是有一種情況,函數內部的形參可以看做是局部變量。