var pvm = new Date();
Päivämääräobjekti pvm sisältää tämän jälkeen paljon tietoa tämän hetkisestä ajasta:
viikonpäivä, päivämäärä, aikavyöhyke jne.
Nämä tiedot voidaan hakeaa päivämäärämetodeilla. Esimerkiksi
palauttaa päivän järjestysnumeron (1-31).
Voimme myös asettaa haluamamme päivämäärätiedon luotuun päivämäärämuuttujaan.
Esimerkiksi:
| setDate() | asettaa päivän päivämääräobjektiin (arvot 1-31) |
| setFullYear() | asettaa vuoden päivämääräobjektiin (kokonaisluku) |
| setHours() | asettaa tunnit päivämääräobjektiin (arvot 0-23) |
| setMilliseconds() | asettaa millisekunnit päivämääräobjektiin (arvot 0-999) |
| setMinutes() | asettaa minutit päivämääräobjektiin (arvot 0-59) |
| setMonth() | asettaa kuukauden päivämääräobjektiin (arvot 0-11. 0=January, 1=February) |
| setSeconds() | asettaa sekunnit päivämääräobjektiin (arvot 0-59) |
| setTime() | asettaa millisekuntien määrän keskiyöstä 1/1-1970 |
| toGMTString() | palauttaa GMT-ajan merkkijonona |
| toLocaleString() | muuttaa paikallisen ajan päivämääräobjektin merkkijonoksi |
| toString() | muuttaa päivämääräobjektin merkkijonoksi |
<div id="kello"></div>
<script language="JavaScript">
var aika = new Date();
function uusi(){
aika = new Date(); //uusitaan aika
var tunnit = aika.getHours();
var minutit = aika.getMinutes();
var sekunnit = aika.getSeconds();
var kellotaulu = tunnit + " : " + minutit + " : " + sekunnit;
document.getElementById("kello").innerHTML = kellotaulu;
}
var ajastin = window.setInterval(function(){uusi();},1000);
</script>
|
Matematiikka-objekti Math on JavaScriptiin sisäänrakennettu. Math -objektilla on metodeja ja ominaisuuksia.
Math -objektin ominaisuuksia on seuraavassa taulukossa:
| E | palauttaa vakion e |
| LN2 | palauttaa luvun 2 luonnollisen logaritmin |
| LN10 | palauttaa luvun 10 luonnollisen logaritmin |
| LOG2E | palauttaa vakion e 2-kantaisen logaritmin |
| LOG10E | palauttaa vakion e 10-kantaisen logaritmin |
| PI | Palauttaa vakion pii |
| SQRT1_2 | Palauttaa 1/(SQRT2) |
| SQRT2 | Palauttaa luvun 2 neliöjuuren |
Math -objektin metodit:
| abs(x) | palauttaa luvun x itseisarvon |
| cos(x) | palauttaa luvun cos(x), x radiaaneina, tarvitsee x*Math.PI/180 |
| sin(x) | palauttaa luvun sin(x), x radiaaneina, tarvitsee x*Math.PI/180 |
| tan(x) | palauttaa luvun tan(x), x radiaaneina, tarvitsee x*Math.PI/180 |
| acos(x) | palauttaa arccosin(x), tulos asteiksi: acos(x)*180/Math.PI |
| asin(x) | palauttaa arcsin(x), tulos asteiksi: asin(x)*180/Math.PI |
| atan(x) | palauttaa arctan(x), tulos asteiksi: atan(x)*180/Math.PI |
| exp(x) | palauttaa luvun e korotettuna potenssiin x |
| pow(x,y) | palauttaa luvun x korotettuna potenssiin y |
| log(x) | palauttaa luvun x luonnollisen logaritmin |
| ceil(x) | palauttaa lähimmän kokonaisluvun suurempi tai yhtäsuuri, kuin x |
| floor(x) | palauttaa lähimmä kokonaisluvun pienempi tai yhtäsuuri, kuin x |
| round(x) | pyöristää luvun x lähimpään kokonaislukuun |
| max(x,y) | palauttaa suuremman luvuista x ja y |
| min(x,y) | palauttaa pienemmän luvuista x ja y |
| random() | palauttaa satunnaisluvun väliltä 0 ja 1 |
| sqrt(x) | palauttaa luvun x neliöjuuren |
|
Esimerkkejä:
|
Math.PI Math.LN10 Math.SQRT2 Math.abs(Luku1) Math.exp(Luku1) Math.pow(Luku1,Luku2) |
Math.ceil(Luku1) Math.floor(Luku1) Math.round(Luku1) Math.min(Luku1,Luku2) Math.random() Math.sqrt(Luku1) Math.sin(Luku1*Math.PI/180) Math.asin(Luku1)*180/Math.PI |
Desimaaliluvun pyöristäminen tapahtuu helpoimmin Math.round()-metodin avulla.
Oletetaan, että
Kertomalla luku sadalla saamme pilkkua siirrettyä kaksi askelta oikealle,
Math.round-metodilla saamme pyöristettyä luvun lähimpään kokonaislukuun, jolloin saamme 2335.
<script language="JavaScript">
function pyorista(){
var luku = 1*document.getElementById("pyoristettava").value;
luku = luku*100;
luku = Math.round(luku);
luku = luku/100;
window.alert(luku);
}
</script>
<input type="text" value="23.345646" id="pyoristettava" />
<br />
<input type="button" value="Pyöristä kahteen desimaaliin" onClick="pyorista();" />
|
|
Joskus tarvitsemme satunnaisen kokonaisluvun halutulta väliltä. Tällöin satunnaislukua nollan ja yhden väliltä täytyy hieman käsitellä.
Alla halutaan noppaluku satunnaisesti ja haluttu on laskettu siten, että Math.random() -satunnaisluku on kerrottu kuudella, jolloin saamme satunnailuvun välillä ]0,6[
<script language="JavaScript">
function satunnaisluku(){
var randomi = Math.random(); //haetaan satunnainen luku ]0,1[
//ei tule siis koskaan tasan 0 tai tasan 1
//kerrotaan tulos kuudella ja pyöristetään alaspäin
//lähimpään kokonaislukuun,
//tulos on satunnainen kokonaisluku 0-5
var tulos = Math.floor(6*randomi);
//lisätään tulokseen yksi, jolloin tulos on
//satunnaisluku 1-6
tulos = tulos + 1;
return tulos;
}
function arvonta(){
var arpaluku = satunnaisluku(); //haetaan arvottu luku
//sijoitetaan se paikoilleen
document.getElementById("arpaluku").innerHTML = arpaluku;
}
</script>
<ul>
<h3>Pieni noppa </h3>
<div id="arpaluku" style="height:30px;"></div>
<input type="button" value="Heitä noppaa" onClick="arvonta();" />
</ul>
|
Pieni noppa |
Suoritetaan testaus siten, että pyöritetään noppaa useaan kertaan ja katsotaan tuleeko tulokseksi uskottavia lukuja. Ihanteellinen tilanne on se, että kaikkia arvoja tulee tasaisesti.
Toisin sanoen, mitä enemmän heittoja on, niin sitä tarkemmin saatujen noppalukujen prosenttiosuudet heittojen kokonaismäärästä vastaavat toisiaan. Samalla virhe yksittäisessä prosenttiosuudessa, joka on teoreettisesti 1/6 = 16.66666... %, pitäisi pienentyä.
| Noppaluku 1 | Noppaluku 2 | Noppaluku 3 | Noppaluku 4 | Noppaluku 5 | Noppaluku 6 | |
| Kpl | 0 | 0 | 0 | 0 | 0 | 0 |
| Osuus (%) | 0 | 0 | 0 | 0 | 0 | 0 |
| Virhe (%) | 0 | 0 | 0 | 0 | 0 | 0 |