Till Startsidan
JavaScript.nu / JavaScript-kurs / Repetition: if, variabler och logiska operatorer

LÄR DIG SPRÅKET JAVASCRIPT
Repetition: if, variabler och logiska operatorer

Ok, nu ska du lära dig lite annat smått och gott som en vidare utbildning till föregående kapitel (att få meddelanden om man skriver in vissa saker i ett prompt-fönster (som du MÅSTE veta vad det är för att fortsätta nu)).

I mitt förra kapitel gjorde vi ett script som gav sidans besökare ett meddelande om han skrev att han hette Bill Gates eller Göran Persson (eller om han tryckte på Cancel).
Nu ska du lära dig att ändra värdet som besökaren skriver, t.ex. om han bara trycker på Cancel, då blir ju besökarens namn null, vilket är rätt intetsägande och trist namn. Det du nu ska göra är att ändra värdet null till något annat, i vårt fall till anonym.
Vi ska också vara lite elaka (de tar det väl som en komplimang) mot Bill Gates och Göran Persson och ändra deras namn (eller snarare besökarens namn) till Mr. Rik.

Hur gör vi nu detta?
Jo, vi börjar med att kopiera HELA scriptet från förra kapitlet till detta kapitel men lägger till några nya rader (de nya raderna är i rött).
Vill du se scriptet trycker du 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 + ". Bara för det ska du kallas Mr. Rik.");
  namn=("Mr. Rik");
  }

if (namn == null)
  {
  alert("Varför vill du inte skriva in ditt namn, Mr. \"anonym?\"");
  namn=("anonym");
  }

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>
Det som har hänt, förutom lite mer av den helt vanliga texten i alertrutorna är att vi helt plötsligt ger ett värde åt namn. Om vi hade haft fler värden på flera olika saker, t.ex. ett värde åt namn, ett åt ålder etc. så hade vi kunnat ändra alla värdena om man skrev in ett speciellt värde åt namn. Detta skulle man kunna göra såhär (för att se scriptet ska du trycka här):
<SCRIPT LANGUAGE="JavaScript">
<!--

var namn=prompt("Var vänlig och skriv in ditt namn","Ditt namn");
var alder=prompt("Var vänlig och skriv in din ålder","");

if ((namn == "Bill Gates") || (namn == "Göran Persson"))
  {
  alert("Visst att du heter " + namn + ". Bara för det ska du kallas Mr. Rik.");
  namn=("Mr. Rik");
  alder=("100");
  }

if (namn == null)
  {
  alert("Varför vill du inte skriva in ditt namn, Mr. \"anonym?\"");
  namn=("anonym");
  alder=("10");
  }


document.write("Hej " + namn + ", du är " + alder + " år.");

//-->
</SCRIPT>
Nu har jag tagit scriptet längst upp på sidan och stoppat in några röda rader.
Vad händer? Jo, när man skriver in värdet Bill Gates eller Göran Persson som värde (till namn) så ger vi värdet (variabeln) alder, som besökaren tidigare fått fylla i, värdet 100. Skulle besökaren ge värdet null (endast genom att trycka på Cancel eller genom att stänga prompt-fönstret) ger vi värdet 10 till variabeln alder.

En sak är viktig att tänka på i detta script, nämligen att värdet på alder ska fyllas i INNAN man ändrar värdet. skulle vi flytta raden..:
var alder=prompt("Var vänlig och skriv in din ålder","");
...Till precis förre raden..:
document.write("Hej " + namn + ", du är " + alder + " år.");
...Så skulle man inte kunna byta värde på alder genom att skriva Bill Gates eller Göran Persson (eller genom att trycka på Cancel). För att göra det enklare att förklara har jag även gjort detta script som jag just förklarat, besök det scriptet genom att trycka här (OBS: Trots att jag byter värde på alder i detta script så kommer alder inte att bytas, eftersom jag låter dig skriva in värdet på alder EFTER att jag redan bytt värde på det, vilket är ganska korkat, men som sagt, detta är bara så att du ska se hur jag menar).
Skulle du vilja ha koden till scriptet så finns det här nedan:

<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 + ". Bara för det ska du kallas Mr. Rik.");
  namn=("Mr. Rik");
  alder=("100");
  }

if (namn == null)
  {
  alert("Varför vill du inte skriva in ditt namn, Mr. \"anonym?\"");
  namn=("anonym");
  alder=("10");
  }

var alder=prompt("Var vänlig och skriv in din ålder","");

document.write("Hej " + namn + ", du är " + alder + " år.");

//-->
</SCRIPT>


Ok, nu kan du byta värden på olika värden. Om du är redo för nästa del ska du trycka här.






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