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 som zip fil.

JavaScript Tutor - Lektion 18

Math

JavaScript har et"Math" object. Det bruges hver gang vi vil udføre mere end en simpel udregning. Dens fundamentale syntax er Math.method(number). Jeg ved det er lidt forvirrende i starten... men bær over med mig.

Se på dette enkelt script som beregner kvadratroden...

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

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

function mySquareRoot()
{
   mynumber = Math.sqrt(9);
   alert(mynumber);
}

//--></SCRIPT>

</HEAD>
<BODY>

<A HREF="javascript:mySquareRoot()">Klik her</A>

</BODY>
</HTML>

Prøv det.

Kan du se hvad der foregår her? Det er ikke så svært.

Øvelse: Lav det sidste eksempel om for at få en prompt box til at komme frem og spørge efter et tal. Beregn kvadratroden og få derefter en alert box frem hvor der står noget lignende "Kvadratrod af 9 er 3"

Her er en løsning.

Her er endnu en Math metode...

Math.round()

Den afrunder et tal til det nærmest hele tal. (Er du ikke glad for at du har mig til at forklare tingene?)

Øvelse: Lav den sidste øvelse om, så den afrunder det tal du har indtastet.

Her er en løsning.

Øvelse: Kombiner de to metoder for at få kvadratroden af et tal som derefter afrundes. Bagerefter, og det er lidt svært, skal du afgøre om tallet er blevet afrundet, og vise en anden meddelelse, afhængig af om det er blevet afrundet eller ej. Lad mig forklare yderligere. Kvadratroden af 9 afrundet er 3, præcis.. Kvadratroden af 10 er 3.3333... Kvadratroden af 10 "rounded" er cirka 3. Du skal derfor ændre funktionen således at hvis brugeren indtaster 9 viser den...

Kvadratroden af 9 er nøjagtigt 3.

Hvis brugeren indtaster 10, vil jeg have at det viser...

Kvadratroden af 10 afrundes til circa 3.

Du vil bliver nødt til at gøre to ting. Først skal du finde en måde til at afgøre om det afrundes præcist. For det andet bliver du nødt til at indsætte et if-else udsagn til at behandle to muligt outputs. Held og lykke, og bliv ved indtil du har regnet det ud.

Her er en løsning.

Der er andre Math metoder...

Math.floor() runder ned. Math.floor(3.2) er 3. Math.floor(3.9) er 3.

Math.ceil() runder op. Math.ceil(3.2) er 4. Math.ceil(3.9) er 4.

Math.round() vil afrunde alt der er mindre end 3.5 til 3 og 3.5 eller større til 4.

Hvordan afrunder du til nærmeste tiendedel? Det er ret enkelt... gang et tal med 10, afrund det, og dividere det med 10.

Prøv det.

Der er Math.sin(), Math.cos(), osv. Der er Math.max() (var det ikke en film med Mel Gibson?) Math.max(x,y) returner det største af to tal.

alert(Math.max(2,8)); vil få 8 frem. Modsat vil, alert(Math.min(2,8)); få 2 frem.

Der er også andre metoder, og jeg kan anbefale dig at arbejde videre, specielt hvis du ikke er matematisk minded.

<< Tilbage         Næste >>