JavaScript 中的变量作用域
Hemank Mehtani
2023年1月30日
2022年5月11日
变量的范围是变量在程序中的可访问性或可见性。
我们在 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
的声明在函数之外。因此,它已经成为全局的并且可以在函数内部或函数外部使用。