Det du h�r ska l�ra dig �r hur man g�r s� att olika saker
h�nder d� vissa variabler har olika v�rden. Dvs, har en variabel
ett v�rde s� h�nder en sak, har det ett annat v�rde sker n�got annat.
T.ex. s� ska du l�ra dig att skapa ett script som fungerar
s�h�r:
F�rst kommer en bes�kare till din sida. Du fr�gar efter hans namn och
hans namn kommer p� sidan (inget konstigt allts�).
Skulle han nu inte skriva in ett namn s� ger du
bes�karen ett speciellt meddelande. Du kan ocks� ge honom ett meddelande
om han skriver in ett namn som t.ex. Bill Gates eller
G�ran Persson.
Ovanst�ende script kan du g�ra med detta JavaScript
(vill du �ven testa scriptet kan du
trycka h�r):
<SCRIPT LANGUAGE="JavaScript">
<!--
var namn=prompt("Var v�nlig och skriv in ditt namn","Ditt namn");
if ((namn == "Bill Gates") || (namn == "G�ran Persson"))
{
alert("Visst att du heter " + namn + ".");
}
if (namn == null)
{
alert("Varf�r vill du inte skriva in ditt namn?");
}
document.write("V�lkommen " + namn + ", du vet v�l att du f�r ett speciellt meddelanden om du trycker p� Cancel eller om du skriver G�ran Persson eller Bill Gates.");
//-->
</SCRIPT>
OK, vad h�nder och varf�r?
Till att b�rja med s� ska jag p�minna dig om JavaScriptets k�nslighet med
StOrA OcH Sm� bokst�ver, s� skriver du bill gates h�nder inget speciellt,
till skillnad mot om du skriver Bill Gates, vilket f�r till f�ljd att
en ruta (ALERT) �ppnas och s�ger:
Visst att du heter Bill Gates.
Ok, l�t mig rad f�r rad g� igenom scriptet och ber�tta vad som h�nder:
var namn=prompt("Var v�nlig och skriv in ditt namn","Ditt namn")
Detta M�STE du k�nna igen (annars b�r du hoppa till kapitel 1 igen).
Skulle du inte k�nna igen det till 100% g�r det inget,
bara du vet vad det var p� ett ungef�r. N�ja,
var ger ett v�rde �t namn genom att ett promptf�nster (prompt
(= man kan trycka p� OK och Cancel, men ocks� fylla i ett namn))
�ppnas och bes�karen kan fylla i ett v�rde. Nu har allts� namn f�tt det
v�rde som bes�karen fyllt i (observera att "v�rde" inte ska f�rknippas
med ett matematiskt v�rde (vilket det i och f�r sig ocks� kan vara),
utan med ett v�rde som �r, kort sagt, n�gra tecken (t.ex. ett namn,
en mening eller kanske ett tal)).
if ((namn == "Bill Gates") || (namn == "G�ran Persson"))
Denna rad g�r s� att en sak (som beskrivs senare i scriptet (= mellan { och }))
ska h�nda om namnets v�rde �r Bill Gates ELLER G�ran Persson.
Att det �r ELLER beror p� att det st�r ||. Skulle det st� &&
skulle det betyda OCH. Men som du m�rker s� kan man inte anv�nda &&
h�r eftersom namn inte kan ha b�de v�rdet Bill Gates och
G�ran Persson.
Skulle jag bara vilja ha Bill Gates som v�rdet som namnet ska
ha f�r att en viss sak ska h�nda skriver jag:
if (namn == "Bill Gates")
Det som �r skillnaden �r att namn == "xxx" i det senaste n�mnda fallet
inte omges av varsin parentes. Eftersom det inte finns 2 parenteser s�
beh�vs inte heller || (Alt Gr + <) mellan alla parenteserna.
Skulle jag vilja skulle jag kunna s�tta in hur m�nga "ifar" som helst.
B�de fler namn == "xxx" i de redan nu utsatta ifarna
(vad nu if i best�md pluralis form ska kallas)
och fler hela ifar (med tillh�rande { och } etc.).
{
alert("Visst att du heter " + namn + ".");
}
F�rst har vi { som ber�ttar att allt fr�n och med { till n�sta
} ska h�nda. Jag har valt att bara skriva en "alert" mellan
{ och }. Alert gjorde s� att en ruta med endast en knapp
och text ska komma upp. Observera att jag har skrivit " + namn + "
i alertrutan, vilket g�r att v�rdet man skriver in kommer att st� i denna
alertruta (kom ih�g att denna ruta endast visas om man heter Bill Gates
eller G�ran Persson, allts� kan detta " + namn + " endast
visa G�ran Persson eller Bill Gates som v�rde). Att jag har skrivit:
if ((namn == "Bill Gates") || (namn == "G�ran Persson"))
{
alert("Visst att du heter " + namn + ".");
}
...�r precis som att skriva..:
if (namn == "Bill Gates")
{
alert("Visst att du heter Bill Gates.");
}
if (namn == "G�ran Persson")
{
alert("Visst att du heter G�ran Persson.");
}
...Fast det �r mycket l�ttare att skriva som jag har gjort
(vilket du f�rhoppningsvis ser).
Nu har vi kommit till raden med texten:
if (namn == null)
Varf�r finns det inte citattecken runt null? Har jag bara gl�mt dem?
Nej, det �r s� att om man trycker p� Cancel eller st�nger prompt-f�nstret
s� f�r namn v�rdet "null", men det �r inte samma sak som att skriva null
f�r hand. S� om du skriver "null" som v�rde kommer du att f� namnet null
och inget speciellt kommer att h�nda. Trycker du d�remot p� Cancel (alt. bara
st�nger prompt-f�nstret (=d�r man skriver in sitt namn)) f�r du namnet "null",
precis som f�rut allts�, men du f�r �ven ett alertmeddelande (bara en OK-knapp och
text) d�r det st�r Varf�r vill du inte skriva in ditt namn?.
Vad skulle nu h�nda om jag ist�llet f�r bara null skrev "null" (inom citat).
Jo, det skulle h�nda som f�rut fast tv�rtom, allts� om man skrev null
f�r hand s� skulle en alertruta s�ga:
Varf�r vill du inte skriva in ditt namn?
...Medan inget skulle h�nda om man skulle trycka p� Cancel eller
st�nga prompt-f�nstret (naturligtvis f�r namnet v�rdet null).
Nu har du allt l�rt dig mycket, men �n �terst�r mycket tills den
totala JavaScriptl�ran. :)
Ja, ja, strunt i poesin och vips till
n�sta sida.