Variabel scope

Fra HTX Arduino
Spring til navigation Spring til søgning

Hvad er en variabel scope?

Begrebet Scope dækker over hvor ting kan ses i koden.

En variabels scope er de steder i koden hvor man kan "se" variablen, og bruge den.

Hvis variablen er oprettet inde i en funktion så kan den kun ses inde i funktionen, mens den virker derfor ikke udenfor funktionen.

Andre variabler, der er oprettet uden for funkionen vil virke både uden for funktionen og inde i funktionen (de kaldes globale variabler).

Eksempler

Det at forklare hvordan de forskellige former for variabel scope fungerer er lettest at forklare ved hjælp af eksempler.

Eksempel på global variabel

Her illustreres hvordan en global variabel kan rettes i en funktion

 var i = 0;  // Denne variabel er global
 function yy (){
   i = 1;    // Her ændres den globale variabel
   document.write(i + "<br />");
 }
 document.write(i + "<br />");  // Her skrives den oprindelige værdi af i  - 0
 yy();                          // Her rettes i til 1 og udskrives         - 1
 document.write(i + "<br />");  // Her er værdien stadig 1, så der skrives - 1

Koden kan hentes i denne: ZIP-fil

Eksempel på lokal variabel og global variabel

Her illustreres hvordan man kan have global variabel samtidig med en lokal variabel med samme navn, men med forskelligt indhold inde i en funktion

 var i = 0;  // Denne variabel er global
 function yy (){
   var i = 1;    // Her oprettes en lokal variabel med samme navn
   document.write(i + "<br />");
 }
 document.write(i + "<br />");  // Her skrives den oprindelige værdi af i  - 0
 yy();                          // Her udskrives den lokale variabel       - 1
 document.write(i + "<br />");  // Her er værdien stadig 0, så der skrives - 0

Koden kan hentes i denne: ZIP-fil

Eksempel på lokal variabel der kun er lokal

Her illustreres hvordan en lokal variabel kun kan ses inde i en funktion

 
 var p = 0;  // Denne variabel er global
 function yy (){
   var i = 1;    // Her oprettes en lokal variabel med et andet navn
   document.write(i + "<br />");
 }
 document.write(p + "<br />");  // Her skrives den oprindelige værdi af p  - 0
 yy();                          // Her udskrives den lokale variabel       - 1
 document.write(i + "<br />");  // Her kan man ikke se variablen i - koden vil lave en fejl

Koden kan hentes i denne: ZIP-fil

Webcode
JavaScript for - while - do while - for in - løkke - løkker i løkker - if - if-else - else-if - Conditional - Switch - break - continue - Funktion - Return - Returværdi - Rekursion - Sekvens - Javascript strukturer
js Input Checkbox - Dropdown - Form - Input button - Input filter - Input password - Input text - Textarea - submit knap - Option - Prompt - Confirm - Radio button - Select - Input-Tag - Keyboard event
js Output Alert - Document.write - Frameset output - Objekt egenskaber - Objekt output - Text-felt til output - Vindue output - Billed egenskaber - Canvas
js Syntaks Arrays - Betingelse - Identifyer - Variabel - Variabel scope - Type - Sekvens
js Objekt Canvas - Billed egenskaber - Egne objekter - Events - HTML-objekter - Keyboard event - Event-handler - Browser detektering - Preload images - Document Object Model
Tid i JavaScript Date objektet - setTimeout - setInterval
PHP Header - Include