[Date-object][Array-object][Wartości losowe]
Array-object
Array to jedna z najbardziej użytecznych właściwości
JavaScript. Wystarczy sobie wyobrazić, iż chcemy umieścić w skrypcie 100 adresów
email. Jest to wykonalne lecz bardzo czasochłonne. Dzięki array możemy to zrobić
szybciej. Możemy wiele wartości liczbowych lub literowych im przypisać np.:
MojArray[0] = 19;
MojArray[1] ="Robert";
MojArray[2] = "Fontański";
Teraz możemy łatwo się do nich odwoływać. Dzięki arrays możliwe jest generowanie
losowo wybranych wartości zawartych, ale o tym w dalszej części kursu.
Obiekt array zaczynamy od jego definicji:
mojArray = new Array()
Po definicji Array() możemy umieścić nasze wartości:
mojArray = new Array()
mojArray[0] = 19;
mojArray[1] ="Robert";
mojArray[2] = "Fontański";
Należy pamiętać iż w nawiasach kwadratowych cyfry rozpoczynamy zawsze od 0.
Teraz aby odczytać informację zawarte w naszym array musimy napisać pętle:
for(var i = 0; i < 3; i++)
{
document.write(mojArray[i] + "<br>");
}
Całość wyglądała by tak:
mojArray = new Array()
mojArray[0] = 19;
mojArray[1] ="Robert";
mojArray[2] = "Fontański";
for(var i = 0; i < 3; i++)
{
document.write(mojArray[i] + "<br>");
}
rezultat:
Jak widać skrypt wyświetlił naszą informację. Możemy także odwoływać się
do poszczególnych array wpisując document.write(mojArray[0] +
"<br>"); czy document.write(mojArray[1] +
"<br>"); zależnie od interesującej nas wartości.
Wartości
losowe
Jak wspomniałem wcześniej obiekty arrays możemy użyć do
generowania losowych wartości.
Chcemy aby strona, którą wczytamy miała losowe tło [patrz].
W tym celu musimy posłużyć się obiektem opartym na Date()
function losowa_liczba(maxValue)
{
los = new Date();
godz = los.getHours();
min = los.getMinutes();
sec = los.getSeconds();
return (((godz + 1) * (min + 1) * sec) % maxValue) + 1
}
Jak widać w powyższej funkcji, zwracanym wynikiem jest reszta z podzielenia iloczynu
godzina + 1 * minuta +1 * sekunda przez maxValue , powiększona o 1 (za chwilę dowiecie
się dlaczego). Ten przykład losowej liczby wart jest zapamiętania, gdyż większość
skryptów opartych jest o ten typ generatora liczb losowych.
Godzinę i minutę powiększyliśmy o 1, dlatego iż w porze między północą, a
godziną 1 w nocy wartość zwracana przez los.getHours() wynosi 0. To
samo dotyczy się minuty i sekundy. Prosty rachunek i wychodzi nam 1. A to jest nie po
naszej myśli. My chcemy aby ta liczba była losowa.
Teraz wróćmy do naszego skryptu. Tło strony WWW w HTML reprezentowane jest przez bgColor.
To polecenie musimy powiązać z document. Wartości teł umieścimy w obiekci Array().
Weźmy ich 10.
function ustaw_bgColor()
{
tloArray = new MakeArray(9);
tloArray[0] = "#FF0000";
tloArray[1] = "#00FF00";
tloArray[2] = "#FFFF00";
tloArray[3] = "#0000FF";
tloArray[4] = "#FF00FF";
tloArray[5] = "#00FFFF";
tloArray[6] = "#FFFFFF";
tloArray[7] = "#FFC0CB";
tloArray[8] = "#000000";
tloArray[9] = "#800080";
document.bgColor = tloArray[losowa_liczba(9)];
}
Jak widać mamy 10 teł. Kod document.bgColor = tloArray[losowa_liczba(9)]
odwołuje się do funkcji losowej_liczby() i przypisuje zmiennej maxValue
liczbę 10, otrzymany wynik przypisywany jest document.bgColor.
Całość wyglądać będzie tak:
<SCRIPT language="JavaScript">
<!--
function losowa_liczba(maxValue)
{
los = new Date();
godz = los.getHours();
min = los.getMinutes();
sec = los.getSeconds();
return (((godz + 1) * (min + 1) * sec) % maxValue) + 1
}
function ustaw_bgColor()
{
tloArray = new Array(9);
tloArray[0] = "#FF0000";
tloArray[1] = "#00FF00";
tloArray[2] = "#FFFF00";
tloArray[3] = "#0000FF";
tloArray[4] = "#FF00FF";
tloArray[5] = "#00FFFF";
tloArray[6] = "#FFFFFF";
tloArray[7] = "#FFC0CB";
tloArray[8] = "#000000";
tloArray[9] = "#800080";
document.bgColor = tloArray[losowa_liczba(9)];
}
//-->
</SCRIPT>
<form>
<input TYPE="button" VALUE="Zmien tlo!!"
onClick="ustaw_bgColor()">
</form>
Projektowanie stron internetowych Copyright(c) 1998 by Robert Fontański |