Piątek 04 Kwiecień 2025r. Godz 00:00:00      
Postów: 251      

Liczby losowe w JavaScript

Korzystanie z liczb losowych jest dosyć przydatne podczas tworzenia skryptów. Do generowania liczb losowych służy funkcja Math.random(). Ma ona jednak pewną wadę ponieważ generuje liczby losowe z przedziału od 0 do 1. Aby otrzymywać liczby z innych zakresów należy użyć funkcji Math.round(zakres*Math.random()). Funkcja Math.round służy do zaokrąglenia liczby do najbliższej liczby całkowitej. Dokładny opis obiektu Math można znaleźć w spisie obiektów.


<HTML>
  <HEAD>
    <META HTTP-EQUIV="Content-TYPE" CONTENT="text/html; charset=windows-1250">
    <SCRIPT LANGUAGE="JavaScript">
      function sprawdz(liczba)
        {licznik++;
          if (liczba==moja) {alert("Brawo! Zgadłeś za "+licznik+" razem");}
          if (liczba<moja) {alert("Moja liczba jest większa");}
          if (liczba>moja) {alert("Moja liczba jest mniejsza");}}
          licznik=0;
          moja=Math.round(1000*Math.random())
    </SCRIPT>
  </HEAD>
  <BODY BGCOLOR="#6FB20F">
    Właśnie wylosowałem liczbę z przedziału od 0 do 1000. Spróbuj zgadnąć jaka to liczba. Po wpisaniu jej w poniższe pole kliknij na przycisk znajdujący się obok niego.
    <FORM NAME="liczba">
      <INPUT TYPE="text" NAME="strzal" SIZE="5">
      <INPUT TYPE="button" VALUE="Sprawdź" onClick="sprawdz(document.forms['liczba'].strzal.value)">
      <P>
      <INPUT TYPE="button" VALUE="Jeszcze raz" onClick="document.forms['liczba'].reset();history.go(0)">
    </FORM>
  </BODY>
</HTML>

Metody go(n) można używać także do wywoływania stron z innych pozycji listy historii. Jeżeli n jest liczbą ujemną, wtedy wyświetlana jest strona wcześniejsza o n względem aktualnej. Jeżeli jest liczbą dodatnią - na odwrót. Wyjątkowo przykład do tej lekcji znajduje się pod jego kodem źródłowym. Jeżeli znajdowałby się w nowo otwartym oknie to jego lista historyczna byłaby pusta.