pagetutor.com - HTML tutorials for the rest of us
JavaScript Tutor v 1.0 oversat af Ewan Rasmusson & Andrew Smith af Joe Barta
pagetutor.com
Download zip fil.

JavaScript Tutor - Lektion 5

JavaScript er god til matematik.

Kopier dette og kør programmet...

<HTML>
<HEAD>
<TITLE></TITLE>

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

function RegneTing()
{
   firstnumber = prompt("Skriv et tal.", "");
   secondnumber = prompt("..og endnu et.", "");
   total = firstnumber * secondnumber;

   alert (firstnumber + " x " + secondnumber + " = " + total);
}

//--></SCRIPT>

</HEAD>
<BODY>

<A HREF="JavaScript:RegneTing()">Klik her</A>

</BODY>
</HTML>

Prøv det.

Det beder om to tal som den ganger. Bemærk at i de fleste programerings sprog, betyder * multiplicere. Hvis vi brugte x hele tiden, ville vi konstant forveksler det med bogstavet. xxx (x gange x) ville skabe problemer.

Prøv nu at lægge tallene sammen...

<HTML>
<HEAD>
<TITLE></TITLE>

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

function RegneTing()
{
   firstnumber = prompt("Skriv et tal.", "");
   secondnumber = prompt("..og endnu et.", "");
   total = firstnumber + secondnumber;

   alert (firstnumber + " + " + secondnumber + " = " + total);
}

//--></SCRIPT>

</HEAD>
<BODY>

<A HREF="JavaScript:RegneTing()">Klik her</A>

</BODY>
</HTML>

Prøv det.

Der er noget galt... 3 + 6 = 36? Ok, vi kan se hvad der sker, men hvad gør vi? Hvis vi har mistanke om, at et tal betragtes som en streng i stedet for et tal, kan vi gange hver variabel med 1. Dette tvinger det på en måde til at være et tal. Nogle computersprog definer fra starten variabler som et tal, en streng, eller noget andet. JavaScript er ikke så specifik. Det antager..! Dette gør det meget lettere for programmøren, men så får han problemer med de små teknisk fejl. Prøv det her i stedet for...

<HTML>
<HEAD>
<TITLE></TITLE>

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

function RegneTing()
{
   firstnumber = prompt("Skriv et tal.", "");
   secondnumber = prompt("..og endnu et.", "");
   total = (firstnumber * 1) + (secondnumber * 1);

   alert (firstnumber + " + " + secondnumber + " = " + total);
}

//--></SCRIPT>

</HEAD>
<BODY>

<A HREF="JavaScript:RegneTing()">Klik her</A>

</BODY>
</HTML>

Prøv det.

Dette, mine damer og herrer er en "workaround". En "workaround" er en kreativ løsning til en indbygget fejl. Disse små problemer vil opstå nu og da, og det kan være nødvendig at du laver en workaround. Er det ikke logisk, at de fleste problemer allerede er blevet opdaget (og derefter løst) af andre? Ville det ikke være rart at se, hvordan en anden person har løst det samme problem som du har? Der er to hjælpekilder jeg vil vise dig. Den første er...

irt.org

For en begynder eller en erfaren JavaScript programmør, er det en af de mest vædifulde hjælpekilder du kan finde. Det begyndte med Martin Webb's JavaScript FAQ og har udviklet sig til en virkelig stor opsamling af information. Her kan du finde svar på hundredvis af spørgsmål om scripting, delt op i kategorier.

Den anden hjælpekilde er...

DejaNews (Power Search)

De er for nyligt blevet genfødt som "Deja.com", men deres hjælpekilde er stadig uvurderlig... de gemmer alle nyhedsgruppe diskussioner. Alt som har været "postet" på en af de 30,000+ nyhedsgrupper er gemt der og søgemuligheden er god. Der er en nyhedsgruppe kaldet comp.lang.JavaScript hvor JavaScript emner drøftes daglig.

Som JavaScript programmør, er det en fordele at bruge disse to hjælpekilde.

Tilbage til matematik. Regning er forholdsvis ensartet i de fleste computer sprog...

  12 + 2     12 plus 2
  12 - 2     12 minus 2
  12 * 2     12 gange 2
  12 / 2     12 divideret med 2

Det bruger en standard sekvens...

  6 + 3 * 4 = 18

Det er ikke 36 fordi man ganger og dividere før man lægger sammen og trækker fra. Hvis vi lægger 6 + 3 sammen, og ganger resultatet med 4, bruger vi parentes...

  (6 + 3) * 4 = 36

Øvelse: Skriv en side, som spørger efter et nummer når du klikker på et link. Bagefter ganger du svaret med 3 og fremviser det i en alert boks, som - "5 * 3 = 15"

Her er en løsning.

Øvelse: Udvid siden, så den efter at have oplyst dig svaret, spørge efter et ANDET tal, som den lægger til det tidligere svar, hvorefter en ny alert boks viser sig med f.eks "(5 * 3) + 2 = 17"

Her er en løsning.

Puh! Det var svært. Men det er sådan man lærer. Som tidligere sagt, jo mere du øver dig jo nemmere bliver det.

<< Tilbage         Næste >>