Omfang
Sveip for å vise menyen
Et scope er rett og slett et område i koden hvor en variabel kan nås eller brukes.
Det finnes to typer scope:
- Globalt scope;
- Lokalt scope.
Hvis en variabel er definert inne i en kodeblokk (mellom krøllparenteser {}), sies det at den har lokalt scope. Dette betyr at den kun kan nås fra innsiden av den funksjonen eller kodeblokken, eller fra eventuelle nøstede blokker:
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 som er definert utenfor en hvilken som helst kodeblokk sies å ha globalt omfang, og den kan nås fra hvor som helst:
123456789101112let exampleVariable = 10; function exampleFunc() { console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Valid
En variabel definert i et lavere (nestet) omfang kan ikke nås fra et høyere (overordnet) omfang:
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 eksemplet inneholder bevisste feil for å illustrere hvordan variabelomfang fungerer. Å kjøre koden vil stoppe utførelsen etter den første feilen, så kodesnutten vises kun for forklaringsformål.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår