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 ]