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

📅  最后修改于: 2022-05-13 01:56:45.059000             🧑  作者: Mango

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

    变量:它保存可以随时更改的数据或信息。 JavaScript 使用保留关键字 var 来声明变量。在 JavaScript 中,有两种类型的变量,它还告诉您在程序中的哪个位置可以使用您定义的变量和函数。

  • 局部变量:

    当您使用 JavaScript 时,局部变量是在函数中定义的变量。它们具有本地范围,这意味着它们只能在定义它们的函数中使用。

  • 全局变量:

    相反,全局变量是在函数之外定义的变量。这些变量具有全局范围,因此它们可以被任何函数使用,而无需将它们作为参数传递给函数。

    局部变量:由于局部变量是在函数内部定义的,所以同名的变量可以在不同的函数中使用。

    例子:

    
    
      
    
        
            

    GeeksforGeeks

               

    Outside myfunction() petName is not defined.

               

               

                  
         

    输出:

    上面的例子说明了局部变量的使用。但是,函数外部的语句不能引用名为 petName 的变量而不会导致错误。那是因为它具有本地范围。

    全局变量:由于全局变量是在函数外部定义的,所以同名的变量不能在不同的函数中使用。网页上的所有脚本和功能都可以访问它。

    例子:

    
    
      
    
        
            

    GeeksforGeeks

               

    A GLOBAL variable can be accessed from                              any script or function.

               

            

               
         

    输出:

      在哪里使用哪些变量:
    • 尽管使用全局变量似乎比将数据传递给函数并从中返回数据更容易,但全局变量经常会产生问题。这是因为任何函数都可以修改全局变量,而且很容易拼错变量名或修改错误的变量,尤其是在大型应用程序中。这反过来又会产生调试问题。
    • 相反,局部变量的使用减少了命名冲突的可能性。例如,两个不同的函数可以对局部变量使用相同的名称而不会引起冲突。当然,这意味着更少的错误和调试问题。那么,除了少数例外,应用程序中的所有代码都应该在函数中,因此所有变量都是本地的。
    • 如果您拼错了已经声明的变量的名称,它将被视为一个新的全局变量。考虑到这一点,请务必在声明新变量时包含关键字,并始终在代码中引用变量之前声明变量。

    注意:尽可能使用局部变量。在变量被其他语句引用之前,始终使用 var 关键字声明新变量。

      如何使用变量:
    • 变量或函数的范围决定了哪些代码可以访问它。
    • 在函数内部创建的变量是局部变量,局部变量,局部变量只能被函数内部的代码引用。
    • 在函数之外创建的变量是全局变量,所有函数中的代码都可以访问所有全局变量。
    • 如果您忘记在变量声明中编写 var 关键字,JavaScript 引擎会假定该变量是全局变量。这可能会导致调试问题。
    • 通常,将局部变量作为参数从一个函数传递到另一个函数比使用全局变量要好。这将使您的代码更容易理解,出错的机会更少。