Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Scopes | Beherskelse af Funktioner
Introduktion til JavaScript

bookScopes

Stryg for at vise menuen

Note
Definition

Et Scope er blot et område i koden, hvor en variabel kan tilgås eller bruges.

Der findes to typer scopes:

  1. Globalt scope;
  2. Lokalt scope.

Hvis en variabel er defineret inde i et kodeblok (mellem krøllede parenteser {}), siges det at have et lokalt scope. Det betyder, at den kun kan tilgås indenfor den funktion eller kodeblok, eller i nogen indlejrede blokke:

123456789101112
function exampleFunc() { let exampleVariable = 10; console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Shows error
copy

En variabel, der er defineret uden for en kodeblok, siges at have globalt scope, og den kan tilgås fra alle steder:

123456789101112
let exampleVariable = 10; function exampleFunc() { console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Valid
copy

En variabel, der er defineret i et lavere (indlejret) scope, kan ikke tilgås fra et højere (overordnet) scope:

function exampleFunc() {
  if (10 + 10 == 20) {
    let exampleVariable = 10;
    console.log(exampleVariable);
    // Output: 10
    // The variable is defined in this block, so it is accessible here
  }

  console.log(exampleVariable);
  // ReferenceError: exampleVariable is not defined
  // The variable was defined inside the if-block and is not accessible outside it
}

exampleFunc();

console.log(exampleVariable);
// This line will never execute because the script stops after the first ReferenceError
Note
Bemærk

Dette eksempel indeholder bevidste fejl for at illustrere, hvordan variabelscope fungerer. Hvis koden køres, vil udførelsen stoppe efter den første fejl, så kodesnutten vises kun til forklaring.

question mark

Hvilket af følgende udsagn om variabelscope er sandt?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 4. Kapitel 4
some-alt