English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript基础教程

JavaScript 对象

JavaScript 函数

JS HTML DOM

JS 浏览器BOM

AJAX 基础教程

JavaScript 参考手册

Variablenbereich in JavaScript

变量的作用域是程序在其中定义的区域。

JavaScript变量只有两个作用域:

  • 局部作用域

  • 全局作用域

作用域确定变量的可访问性(可见性)。

JavaScript 局部变量

在函数中声明的变量具有LOCAL(局部)作用域,这意味着无法从该函数外部调用或操作它们。

// 这里的代码不能使用cityName
function myFunc() {
  var cityName = "New Delhi";
  
  // 这里的代码可以使用cityName  
}
// 这里的代码不能使用cityName
测试看看‹/›

局部变量具有函数作用域,只能从函数内部访问它们。

由于局部变量只能在其函数内部识别,因此具有相同名称的变量可以在不同的函数中使用。

函数启动时创建局部变量,函数完成时将局部变量删除。

JavaScript 全局变量

在函数外部的程序中声明的变量具有GLOBAL范围,这意味着所有脚本都可以使用它们,无论该脚本在函数内部还是外部。

// 初始化全局变量
var cityName = "New Delhi";
// 这里的代码能使用cityName
function myFunc() {  
  // 这里的代码同样也能使用cityName
}
// 这里的代码能使用cityName
测试看看‹/›

可以从JavaScript程序中的任何位置访问全局变量。

在下面的示例中,我们将创建一个GLOBAL cityName变量。函数内部是一个具有相同名称的LOCAL变量。

// 初始化全局变量
var cityName = "New Delhi";
function myFunc() {
  //初始化局部、函数范围内的变量
  var cityName = "Jaipur";
  document.writeln(cityName);
}
//输出全局变量和局部变量
document.writeln(cityName);
myFunc();
document.writeln(cityName);
测试看看‹/›

通过将它们输出到文档,我们可以看到变量的值根据作用域而有所不同,并且原始值没有更改。

自动全局变量

如果为尚未声明的变量赋值,它将自动成为GLOBAL(全局)Variablen.

此示例将声明全局变量cityName,即使在函数内部分配了值也是如此。

myFunc();
// 这里的代码能使用cityName 
function myFunc() {
  cityName = "New Delhi";
}
测试看看‹/›

除非有必要,否则不要轻易创建全局变量。

全局变量可以覆盖窗口变量。

Jegliche Funktion, einschließlich des window-Objekts, kann globale Variablen überschreiben.

Unterschiede zwischen var, let und const

JavaScript hat drei verschiedene Schlüsselwörter, um Variablen zu deklarieren, was der Sprache eine zusätzliche Komplexität hinzufügt.

Die Unterschiede zwischen ihnen basieren auf dem Bereich, dem Höhepunkt und der Neuzuweisung.

SchlüsselwortBereichHöhepunktKann neu zugewiesen werdenKann neu deklariert werden
varFunktionsspektrumJaJaJa
letBlockbereichNeinJaNein
constBlockbereichNeinNeinNein

JavaScript-Blockbereich

mitvarVariablen, die mit Schlüsselwörtern deklariert werden, können nicht "Blockbereich" haben.

{} können von außen des Blocks auf Variablen zugegriffen werden, die im Block deklariert wurden:

  { 
  var num = 50; 
  }
  // num kann hier verwendet werden

mitletVariablen, die mit Schlüsselwörtern deklariert werden, können "Blockbereich" haben.

{} können nicht von außen des Blocks auf Variablen zugegriffen werden, die im Block deklariert wurden:

  { 
  let num = 50; 
  }
  // num kann hier nicht verwendet werden

Deklaration der Variablen mit constmitletBetreffend Blockbereich ähnlich.

  { 
  const num = 50; 
  }
  // num kann hier nicht verwendet werden

Der Wert der Konstanten kann nicht durch Neuzuweisung geändert werden und kann nicht neu deklariert werden.

Lebenszyklus der JavaScript-Variablen

Der Lebenszyklus der JavaScript-Variablen beginnt mit der Deklaration.

Wird gelöscht, wenn die Funktion abgeschlossen istLokalVariablen.

Wenn Sie das Browserfenster schließenGlobalDie Variablen werden gelöscht, aber für neue Seiten, die in das gleiche Fenster geladen werden, sind sie immer noch verfügbar.