JavaScript

Variabler

För att kunna mellanlagra vissa data som ska användas flera gånger finns det i JavaScript något som kallas variabler. En variabel är i stort sett en behållare med namn där ett visst värde kan lagras. Variabler kan lagra allt från enkla heltal till komplicerade strukturer som t ex listor. En variabel skapas när den skapas i koden första gången och brukar då tilldelas ett värde. En tilldelning till variabeln med namn tal kan se ut enligt följande:

var tal = 15;
eller
tal = 15;

Innan namnet på variabeln skrivs kan det också stå att det är en variabel som skapas och detta görs genom ordet var. Liksom när det gäller semikolon i slutet på satser går det att utelämna var. När man senare i koden använder variabeln tal får man fram värdet. T ex :


var tal = 15;

skrivUt(tal);

Funktionen får nu värdet på tal som indata och skriver alltså ut 15 (om nu funktionen skrivUt har denna uppgift). Namnet variabel pekar på att en variabel förutom att lagra ett värde kan variera. Värdet är utbytbart och kan vara olika i olika delar av koden. Om vi först tilldelar tal 15 och skickar det till skrivUt kommer 15 att skrivas ut. Sen gör vi ytterligare en tilldelning till tal och sätter värdet till 20 samt skickar variabelns värde till skrivUt igen. Samma variabel skickas alltså två gånger till skrivUt, men den andra gången skrivs dess nya värde ut, alltså 20.

Det finns ett ganska enkelt sätt att testa sin JavaScript-kod utan att behöva skapa ett nytt dokument. För att testa utskriften till skärmen (document.write() gör följande saker:

JavaScript test i Internet Explorer

Det går att göra mer avancerade uttyck. För att skriva in fler instruktioner sätter man semikolon mellan dessa.

Förklaring Tänk er lilla Lisa på 6 år som går omkring med sin äppelkorg. Vi låter Lisas korg (en behållare) vara en variabel och innehållet i variabeln är antalet äpplen som Lisa har i korgen. Hon går omkring och plockar äpplen och variabeln ökar då. Sen ger hon bort äpplen till sina kompisar och variabeln minskar igen. När Lisa har gått runt ett tag får hon slut på äpplen och vill hem. Men eftersom hon har gått ganska länge och är trött bestämmer hon sig för att åka buss. Hon ringer till sin mamma för att fråga vilken buss som går snabbast hem. Svaret skriver Lisa ner på en papperslapp som hon lägger i korgen. Variabeln innehåller nu namnet på en busslinje istället för antalet äpplen. Det går alltså att lagra olika saker i en variabel, precis som i en korg!

Alla variabler har något som vi kallar räckvidd eller synlighet och livslängd. Räckvidd står för var en viss variabel kan ses (kommas åt) ifrån. Inne i funktioner säger vi att variablerna är lokala, d v s de finns endast lokalt inne i funktionskroppen och syns inte för omvärlden. Det går alltså att använda variabeln tal i flera olika funktioner utan att påverka varandra. En variabel som är deklarerad utanför dina funktioner är synlig från alla funktioner. Dessa variabler kallas globala variabler i och med att de har global synlighet.

FörklaringSynligheten kan man tänka på som att Lisa sätter sig på en buss, alltså ett ställe som omvärlden inte har så mycket kunskap om. När Lisa är inne i bussen är det bara de som själva är i bussen som vet hur många äpplen korgen innehåller. De kan lätt fråga Lisa hur många hon har. Men folk utanför kan inte fråga samma sak så de ser inte variabeln Korg. Samma sak gäller för en variabel som finns inne i en funktion, den saknar synlighet för saker utanför funktionen.

Livslängden är när variabeln försvinner för gott och inte längre kan hämtas från programmets minne. Alla variabler försvinner när programmet stängs ner och skapas på nytt med nya värden när programmet åter startar. De lokala variablerna försvinner direkt när funktionen är klar.

Vi ska påbörja ett exempel på variabler som handlar om Nikes leksaker. Med hjälp av två knappar ska vi kunna välja att hon äter upp en leksak eller att ge henne fler. En variabel håller reda på exakt hur många leksaker av den speciella sorten det finns. Vi startar med att skapa denna variabel.

var nrOfShoes = 10;

Variabeln nrOfShoes har till att börja med värdet 10, alltså har Nike 10 skor att leka med. Sen vill vi också skriva ut på webbsidan hur många skor det finns och gör detta med en enkel kodsnutt.

document.write(nrOfShoes);

Vi kan inte skriva dessa saker direkt i HTML-koden utan måste bädda in dem inom skripttaggar som säger att det är just JavaScript som kommer i koden. Det hela blir nu istället :


<script type="text/javascript">



var nrOfShoes = 10;



document.write(nrOfShoes);

</script>

Efter att ha lagt detta i en rubrik (H2) blir resultatet såhär.

Resultat

Titta gärna på koden via länken här nedanför. Vi kommer senare att gå vidare med exemplet så försök att gå igenom det igen om du inte förstår det.

Kod

Självklart ska detta också synas på sidan med Nikes övriga leksaker och vi lägger JavaScript-koden för att skriva ut antalet skor under tabellen med övriga leksaker.

Kod

Kod

Vi har alltså använt oss av en variabel för att skriva ut antalet skor på webbsidan. Mer om detta senare, men först ska vi gå igenom några grundläggande saker för att kunna arbeta med bland annat variabler i JavaScript.