📌  相关文章
📜  JavaScript 中的全局变量和局部变量(1)

📅  最后修改于: 2023-12-03 14:42:30.277000             🧑  作者: Mango

JavaScript 中的全局变量和局部变量

在 JavaScript 中,变量可以按照作用域的不同分为全局变量和局部变量。

全局变量

全局变量是定义在代码顶层(不在任何函数内部)的变量,它的作用域是全局的,即可以在代码的任何地方被访问。如下所示,myGlobal 就是一个全局变量:

var myGlobal = 10;

全局变量应该尽量避免使用,因为它可能会被意外地修改或被其它代码所覆盖。

局部变量

局部变量是在函数内部定义的变量,它的作用域只在该函数内部。当该函数被调用时,这些变量被创建。当函数完成执行后,这些变量就会被销毁。如下所示,x 和 y 都是局部变量:

function myFunction() {
  var x = 5;
  var y = 7;
  // 其它代码
}

局部变量可以在函数内部随时修改和使用,但在函数外部是无法访问的。

全局变量和局部变量的重名问题

当在函数内部定义了一个与全局变量同名的变量时,该变量会覆盖全局变量。如下所示,虽然 myGlobal 是一个全局变量,但它在函数内部被重定义为局部变量:

var myGlobal = 10;

function myFunction() {
  var myGlobal = 5; // 该变量覆盖了全局变量
}

为了避免这种情况,通常推荐使用不同的变量名。

总结

在 JavaScript 中,变量可以按照作用域的不同分为全局变量和局部变量。全局变量是定义在代码顶层的变量,它的作用域是全局的;局部变量是在函数内部定义的变量,它的作用域只在该函数内部。全局变量应该尽量避免使用,因为它可能会被意外地修改或被其它代码所覆盖。在函数内部定义的变量可以覆盖同名的全局变量,为了避免这种情况,推荐使用不同的变量名。