Till Startsidan
JavaScript.nu / JavaScript-kurs / Funktionsargument och parametrar

LÄR DIG SPRÅKET JAVASCRIPT
Funktionsargument och parametrar

Det du nu ska lära dig är en otroligt viktig sak inom JavaScript, nämligen att skriva variabler i funktionerna. Det gör man genom att skriva variablernas namn mellan ( och ), t.ex:
function funktionens_namn(variabelnamn_1,variabelnamn_2,variabelnamn_3)

Låt mig ta ett exempel:
Jag vill att alla mina länkar ska fråga om man verkligen vill lämna sidan med ett confirmfönster.
Hur gör jag detta?
En sådan länk kan man göra såhär:

<SCRIPT LANGUAGE="JavaScript">
<!--

function lank1()
{
if (confirm("Vill du verkligen lämna min sida?"))
   {
self.location=("http://www.adress.com/");
   }
}

//-->
</SCRIPT>

Där länken finns skriver man:
<A HREF="JavaScript:lank1()">Gå till...</A>
OK, föreställ dig nu att jag har 20 länkar på sidan, skulle det inte vara ganska onödigt med så hiskligt många funktioner?
Jo, just därför finns möjligheten till färdiga variabler i funktionerna.
Låt mig nu säga att jag vill ha 3 länkar på sidan, en till torget, en till passagen och en till disney. Alla ska vara som jag beskrivit ovan.
Då gör jag bara såhär (testa scriptet här):
<SCRIPT LANGUAGE="JavaScript">
<!--

function lank(vad_jag_vill)
{
if (confirm("Vill du verkligen lämna min sida?"))
   {
self.location=(vad_jag_vill);
   }
}

//-->
</SCRIPT>

Där länkarna finns skriver man:
<A HREF="JavaScript:lank('http://www.torget.se/')">Torget</A>
<A HREF="JavaScript:lank('http://www.passagen.se/')">Passagen</A>
<A HREF="JavaScript:lank('http://www.disney.com/')">Disney</A>
Öhh???
Vad i...
Vad betyder JavaScript:lank('http://www.disney.com/')???

Jo, visst ser det konstigt ut för dig nu när du för första gången ser något mellan inomparanteserna som finns efter funktionens namn.
Detta är dock något ganska lätt när man lärt sig det.
Det hela är så att jag i min funktion lank har gjort det möjligt att ge ett värde åt vad_jag_vill, precis som man kan skriva:

var vad_man_vill=prompt("Vad ska vad_man_vill få för värde?","");
Alltså så skriver man en funktion såhär:
function funktionens_namn(variabeln_som_ska_fa_ett_varde)

När man sedan vill ge ett värde åt variabeln_som_ska_fa_ett_varde anropar man bara funktionen på detta sätt:
funktionens_namn("vardet_som_man_vill_ge_till_variabeln");

Att jag i länkarna har ' istället för " beror (som jag sa i förra kapitlet) på att HREF annars avslutas, vilket den inte ska.

Var detta svårt?
Låt mig ta ett extremt lätt exempel, det borde bli lättare att förstå då.
Detta script är så att man trycker på en länk så öppnas en alertruta med en text i, observera att jag bara har 1 alert i scriptet men kan få fram 3 olika meddelanden i alertrutan. Här är scriptet (testa här):

<SCRIPT LANGUAGE="JavaScript">
<!--

function funktionens_namn(variabelns_namn)
{
alert(variabelns_namn);
}

//-->
</SCRIPT>

Där länkarna som får fram alertrutan finns skriver man:
<A HREF="JavaScript:funktionens_namn('Jag heter Omid, du då?')">Om mig</A>
<A HREF="JavaScript:funktionens_namn('Det var en gång, och den var hal...')">En saga</A>
<A HREF="JavaScript:funktionens_namn('Elefanter är stora.')">Elefanter</A>
Nu ser du nog vad jag har gjort, det var väl inte så svårt?
Nåja, nu ska det bli lite svårare, du ska få ha flera olika variabler på en funktion. Faktum är att man kan ha oändligt många variabler i en funktion. Olika värden anges såhär:
funktionens_namn("varde1","varde2","varde3","varde4");
Då måste också funktionen ha 4 variabler, varken mer eller mindre (har du mer så har du dem i onödan, har du mindre så får den variabeln inget värde. Skulle du skriva ut en variabel utan värde så får den automatiskt värdet "undefined").
De skrivs in såhär:
function funktionens_namn(variabel1,variabel2,variabel3,variabel4)
Ett sådant exempel kan göras såhär (testa här):
<SCRIPT LANGUAGE="JavaScript">
<!--

function funktionens_namn(namn,email,jobb,alder)
{
alert("" + namn + " (" + email + ") jobbar som " + jobb + " och är " + alder + " år.");
}

//-->

</SCRIPT>

Där länkarna som får fram alertrutan finns skriver man:
<A HREF="JavaScript:funktionens_namn('Göran Persson','goran@regeringen.gov','sosse','65')">Göran Persson</A>
<A HREF="JavaScript:funktionens_namn('Robin Hood','robin@skogen.se','hjälte','34')">Robin Hood</A>
<A HREF="JavaScript:funktionens_namn('Ulla Bella','ulla@kontoret.se','sekreterare','37')">Ulla Bella</A>


Detta var allt för detta kapitel.
Tryck här för att ta dig vidare till nästa del.






Copyright © Omid Rouhani 1997-2022; Alla rättigheter reserverade.
Guider: [ HTML guide ] - [ JavaScript guide ] - [ DHTML guide ] - [ Perl guide ] - [ Sitemap ]