JavaScript 中的變數作用域
Hemank Mehtani
2023年10月12日
變數的範圍是變數在程式中的可訪問性或可見性。
我們在 JavaScript 中有三種型別的變數作用域。它們是塊、本地和全域性範圍。
讓我們在本文中討論這些。
JavaScript 中變數的塊作用域
在 2015 年引入 ES6 之前,Javascript 只有 Global 和 Function 作用域。在引入 ES6 之後,引入了兩個新的關鍵字,let
和 const
。這些關鍵字使塊作用域成為可能。
在花括號 {}
中宣告的變數屬於塊範圍,因為我們無法從塊外部訪問它們。
請參閱下面的程式碼。
{ let a = 17; }
// a cannot be used here from outside the block
使用關鍵字 var
宣告的變數不能有塊作用域。
例如,
{ var a = 17 }
// a can be used here from outside the block
JavaScript 中變數的區域性作用域
JavaScript 中的變數在函式中宣告時具有區域性作用域。這些不能從函式外部訪問。
例如,
function sampleFunction() {
let myName = 'Hemank';
}
// myName cannot be accessed here
用 var
、let
和 const
關鍵字宣告的變數都具有函式作用域。
JavaScript 變數的全域性作用域
在函式外部定義的所有變數都是全域性的。這些可以在程式的任何地方訪問,不限於任何功能。
例如,
let myName = 'Ella'
// we can access the above variable here
function sampleFunc() {
// myName can be access from within a function as well.
}
在上面的程式碼中,變數 myName
的宣告在函式之外。因此,它已經成為全域性的並且可以在函式內部或函式外部使用。