Javascript 简明教程

JavaScript - Global Variables

JavaScript Global Variables

JavaScript 中的 global variables 是在函数或任何特定代码块之外定义的变量。可以从 JavaScript 代码中的任何位置访问它们。所有脚本和函数都可以访问全局变量。

可以使用 var、let 或 const 关键字定义全局变量。如果不使用任何 var、let 或 const 关键字定义变量,则该变量会自动成为全局变量。

JavaScript Global Scope

全局变量具有全局范围。因此,在函数或代码块之外声明的变量具有全局范围。可以在所有其他范围内看到或访问 global scope 。在客户端 JavaScript 中,全局范围是执行所有代码的网页。使用 var 关键字声明的全局变量属于 window 对象。

var x = 10; // Global Scope
let y = 20; // Global Scope
const z = 30; // Global Scope

在此处,变量 x、y 和 z 在任何函数和代码块之外声明,因此它们具有全局范围,称为全局变量。

Global Variable Examples

让我们使用下面的示例进一步了解全局变量。

Example

我们在下面的代码中已经定义了 x,y,和 z 全局变量。你可以看到代码中的任何地方都可以访问变量。

<html>
<head>
   <title> JavaScript - Global variables </title>
</head>
<body>
   <p id = "output"> </p>
   <script>
      var x = 10;
      let y = 20;
      const z = 30;
      document.getElementById("output").innerHTML =
	  "x = " + x + "<br>" +
	  "y = " + y + "<br>" +
      "z = " + z;
   </script>
</body>
</html>
x = 10
y = 20
z = 30

Example

在下面的示例中,我们已经使用 var 和 let 关键字定义了变量 a 和 b。你可以看到在函数内部或函数外部都可以访问变量 a 和 b,因为它们是全局变量。

<html>
<head>
   <title> JavaScript - Global variables </title>
</head>
<body>
   <p id = "demo"> </p>
   <script>
      const output = document.getElementById("demo");
      var a = 10;
      let b = 20;
      function test() {
         output.innerHTML += "a -> Inside the function = " + a + "<br>";
         output.innerHTML += "b -> Inside the function = " + b + "<br>";
      }
      test();
      output.innerHTML += "a -> Outside the function = " + a + "<br>";
      output.innerHTML += "b -> Outside the function = " + b + "<br>";
   </script>
</body>
</html>
a -> Inside the function = 10
b -> Inside the function = 20
a -> Outside the function = 10
b -> Outside the function = 20

Automatic Global Variables

当你在代码中的任何地方定义变量而不使用 varletconst 关键字时,变量将自动变成 global variable 并可以在代码中的任何地方访问。

Example

在下面的代码中,我们在函数中没有使用任何关键字而定义了变量 'a'。即使我们已经在函数中定义了变量,它依然变成全局变量,因为我们没有使用任何关键字来定义函数。

输出表明,可以在函数内部或外部访问变量 'a'。

<html>
<head>
   <title> JavaScript - Global variables </title>
</head>
<body>
   <p id = "demo"> </p>
   <script>
      const output = document.getElementById("demo");
      function test() {
      a = 90;
            output.innerHTML += "a -> Inside the function = " + a + "<br>";
        }
        test();
        output.innerHTML += "a -> Outside the function = " + a + "<br>";
    </script>
</body>
</html>
a -> Inside the function = 90
a -> Outside the function = 90