Scopes
Stryg for at vise menuen
Et Scope er blot et område i koden, hvor en variabel kan tilgås eller bruges.
Der findes to typer scopes:
- Globalt scope;
- 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:
123456789101112function exampleFunc() { let exampleVariable = 10; console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Shows error
En variabel, der er defineret uden for en kodeblok, siges at have globalt scope, og den kan tilgås fra alle steder:
123456789101112let exampleVariable = 10; function exampleFunc() { console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Valid
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
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.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat