CodeGym /Java Kurs /Frontend SELF DE /Gültigkeitsbereiche

Gültigkeitsbereiche

Frontend SELF DE
Level 35 , Lektion 4
Verfügbar

5.1 Globaler Gültigkeitsbereich

Gültigkeitsbereiche (scopes) bestimmen die Verfügbarkeit von Variablen und Funktionen in verschiedenen Teilen des Programms. In JavaScript gibt es drei Haupttypen von Gültigkeitsbereichen: global, lokal und block. Das Verständnis dieser Gültigkeitsbereiche ist wichtig für das effektive Datenmanagement und zur Vermeidung von Fehlern im Code.

Der globale Gültigkeitsbereich umfasst alle Variablen und Funktionen, die außerhalb von Funktionen oder Codeblöcken deklariert sind. Diese Variablen und Funktionen sind von überall im Code aus zugänglich.

Beispiel 1: Deklaration globaler Variablen

JavaScript
    
      var globalVar = 'I am a global variable';

      function showGlobalVar() {
        console.log(globalVar); // Zugriff auf globale Variable
      }
      showGlobalVar(); // Gibt aus: I am a global variable

      console.log(globalVar); // Zugriff auf globale Variable
    
  

Beispiel 2: Globale Funktionen

In diesem Beispiel sind die Variable globalVar und die Funktion globalFunction() im globalen Gültigkeitsbereich deklariert und von überall im Code zugänglich.

JavaScript
    
      function globalFunction() {
        return 'I am a global function';
      }

      console.log(globalFunction()); // Gibt aus: I am a global function
    
  

5.2 Lokaler Gültigkeitsbereich

Der lokale Gültigkeitsbereich umfasst Variablen und Funktionen, die innerhalb einer Funktion deklariert sind. Diese Variablen und Funktionen sind nur innerhalb dieser Funktion verfügbar und außerhalb nicht zugänglich.

Beispiel 3: Deklaration lokaler Variablen

In diesem Beispiel ist die Variable localVar innerhalb der Funktion localScopeExample() deklariert und außerhalb dieser Funktion nicht verfügbar:

JavaScript
    
      function localScopeExample() {
        var localVar = 'I am a local variable';
        console.log(localVar); // Zugriff auf lokale Variable
      }

      localScopeExample(); // Gibt aus: I am a local variable

      console.log(localVar); // Fehler: localVar is not defined
    
  

Beispiel 4: Lokale Funktionen

In diesem Beispiel ist die Funktion innerFunction() innerhalb der Funktion outerFunction() deklariert und außerhalb von outerFunction() nicht verfügbar:

JavaScript
    
      function outerFunction() {
        function innerFunction() {
          return 'I am a local function';
        }
        console.log(innerFunction()); // Zugriff auf lokale Funktion
      }

      outerFunction(); // Gibt aus: I am a local function

      console.log(innerFunction()); // Fehler: innerFunction is not defined
    
  

5.3 Block-Gültigkeitsbereich

Der Block-Gültigkeitsbereich umfasst Variablen, die mit let und const innerhalb eines Codeblocks deklariert sind, der durch geschweifte Klammern {} begrenzt ist. Diese Variablen sind nur innerhalb dieses Blocks zugänglich und außerhalb nicht verfügbar.

Beispiel 5: Deklaration von Variablen mit let

In diesem Beispiel ist die Variable blockVar innerhalb des if-Blocks deklariert und außerhalb nicht verfügbar:

JavaScript
    
      if (true) {
        let blockVar = 'I am a block-scoped variable';
        console.log(blockVar); // Zugriff auf Block-Variable
      }

      console.log(blockVar); // Fehler: blockVar is not defined
    
  

Beispiel 6: Deklaration von Variablen mit const

In diesem Beispiel ist die Variable i innerhalb des for-Blocks deklariert und außerhalb nicht verfügbar:

JavaScript
    
      for (const i = 0; i < 3; i++) {
        console.log(i); // Zugriff auf Block-Variable
      }

      console.log(i); // Fehler: i is not defined
    
  

Besonderheiten des Block-Gültigkeitsbereichs

Beispiel 7: Verschachtelte Blöcke

In diesem Beispiel ist die Variable innerVar nur innerhalb des inneren Blocks verfügbar, während die Variable outerVar sowohl im äußeren als auch im inneren Block verfügbar ist:

JavaScript
    
      if (true) {
        let outerVar = 'I am in the outer block';

        if (true) {
          let innerVar = 'I am in the inner block';

          console.log(outerVar); // Zugriff auf Variable des äußeren Blocks
          console.log(innerVar); // Zugriff auf Variable des inneren Blocks
        }

        console.log(outerVar); // Zugriff auf Variable des äußeren Blocks
        console.log(innerVar); // Fehler: innerVar is not defined
      }
    
  

5.4 Interaktion zwischen verschiedenen Gültigkeitsbereichen

Beispiel 8: Interaktion zwischen globalem und lokalem Gültigkeitsbereich

In diesem Beispiel hat die Funktion scopeExample() Zugriff auf die globale Variable globalVar und auf ihre lokale Variable localVar:

JavaScript
    
      var globalVar = 'I am a global variable';

      function scopeExample() {
        var localVar = 'I am a local variable';

        console.log(globalVar); // Zugriff auf globale Variable
        console.log(localVar);  // Zugriff auf lokale Variable
      }

      scopeExample(); // Gibt aus: I am a global variable
                      //  I am a local variable

      console.log(globalVar); // Zugriff auf globale Variable
      console.log(localVar);  // Fehler: localVar is not defined
    
  

Beispiel 9: Gültigkeitsbereiche mit Pfeilfunktion

In diesem Beispiel hat die Pfeilfunktion arrowFunction() Zugriff auf die globale Variable globalVar und auf ihre lokale Variable localVar:

JavaScript
    
      let globalVar = 'I am a global variable';

      const arrowFunction = () => {
        let localVar = 'I am a local variable in arrow function';

        console.log(globalVar); // Zugriff auf globale Variable
        console.log(localVar);  // Zugriff auf lokale Variable
      };

      arrowFunction(); // Gibt aus: I am a global variable
                       // I am a local variable in arrow function

      console.log(globalVar); // Zugriff auf globale Variable
      console.log(localVar);  // Fehler: localVar is not defined
    
  
1
Опрос
Funktionen,  35 уровень,  4 лекция
недоступен
Funktionen
Funktionen
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION