Опубликован: 19.10.2006 | Уровень: для всех | Доступ: платный
Лекция 21:

Создание случайных чисел

< Лекция 20 || Лекция 21 || Лекция 22 >
Аннотация: Методы создания случайных событий и работа с ними.

Концепция

В этом примере рассматриваются случайные числа. Для генерации случайных чисел JavaScript использует дату и время.

Обратите в сценарии внимание на следующее: число после знака % является ограничивающим числом. Пример ниже выбирает случайное число между 1 и 10.

Сценарий

<HTML>
<HEAD>
<SCRIPT type="text/javascript"> 
function rand()
      {
          var now=new Date()
          var num=(now.getSeconds())%10
          var num=num+1
          alert(num)
      }
</SCRIPT>
</HEAD>
<BODY>
 <h1>Случайные числа</h1>
 <form>  
   <INPUT TYPE="button" 
   VALUE="Случайные числа от 1 до 10"  
   onClick="rand()">
 </FORM>
</BODY>
</HTML>

Результат работы сценария

На странице выводится кнопка с надписью "Случайные числа от 1 до 10", при нажатии на которую появляется окно со случайным числом от 1 до 10.

Разбор сценария

Начнем в этот раз с функции:

function rand()
{
var now=new Date()
var num=(now.getSeconds())%10
var num=num+1
alert(num)
}

Выбор случайного числа осуществляется в несколько шагов.

  1. Во-первых, создаем функцию. Наша называется rand().
  2. Потом создаем переменную для метода new Date().
  3. Создаем еще одну переменную, num. Она содержит метод getSeconds(), так как в данном случае мы используем секунды для выбора случайного числа.

JavaScript, как и многие другие компьютерные языки, начинает отсчет с нуля. Поэтому элемент %10 говорит JavaScript, что случайное число будет выбираться из чисел от 0 до 9.

Оператор % возвращает остаток от деления. Предположим, что функция getSeconds() вернула значение 20 секунд. При делении на 10 получаем остаток 0. Сценарий возвращает 0. Пусть число секунд равно 12. Остаток при делении на 10 будет равен 2.

Прибавляя к случайному числу единицу ( num=num+1 ), мы получаем числа не от 0 до 9, а от 1 до 10.

Наконец alert выводит число.

Теперь элемент, запускающий функцию:

<form action="">  
  <INPUT TYPE="button" 
  VALUE="Случайное число от 1 до 10"
  onClick="rand()">
</form>

Это обычная кнопка, которая запускает выполнение приведенной выше функции.

Задание

Напишите программу JavaScript, в которой пользователь нажимал бы кнопку в форме, а программа выводила бы случайное число от 0 до 4 со словами: "Ваше случайное число: "х".

Возможное решение

<html>
      <head>
      <SCRIPT type="text/javascript"> 
      function rand()
          {
             now=new Date()
             num=(now.getSeconds())%5
             alert("Ваше случайное число: " + num)
         }
      </script>
      </head>
      <body>
          <h1>Случайные числа</h1>
          <form>  
	<input type="button" value="Вывод случайного числа между 0 и 4"  
       onClick="rand()">
         </form>
     </body>
     </html>

Необходимо изменить число после знака процента на 5 и добавить немного текста в команду alert, и все будет готово.

< Лекция 20 || Лекция 21 || Лекция 22 >
Елена Сапегова
Елена Сапегова

После прохождения теоретической части пришло письмо об окончании теоретической части курса, будет ли практическая часть?

Эдуард Семынин
Эдуард Семынин

Здравствуйте.

Перестали быть видны лекции и тесты практикума по программированию на JavaScript. Уже второй день из моего аккаунта виден лишь план занятий. В чем может быть проблема?

 

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Галина Матрук
Галина Матрук
Молдова, Республика, Кишинев, UTM, 2010