Далее на странице...
В JavaScript часто возникает ситуация, когда для выполнения какого-либо скрипта необходимо получить случайное число. Для этого следует воспользоваться методом random объекта Math.
Метод random - Случайное число от 0 до 1
По умолчанию метод random объекта Math генерирует (возвращает) случайное число от 0 до 1.
<script type="text/javascript">
var any = Math.random(); /* Генерируем число от 0 до 1 */
document.write(any);
</script>
Пример №1 - Случайное число от 0 до 1
0.6313193940877168
Но на самом деле в большинстве случаев использование метода random в чистом виде не имеет смысла, так как дробное число от 0 до 1 с большим количеством знаков после запятой весьма редко применимо.
Метод random - Случайное число от 0 до 100
Метод random может генерировать случайные числа от 0 до 100. Рассмотрим пример, как это сделать.
<script type="text/javascript">
var any = Math.random() * 100; /* Генерируем число от 0 до 100 */
document.write(any);
</script>
Пример №2 - Случайное число от 0 до 100
59.43896213010784
Как видно из примера, для того чтобы сгенерировать случайное число от 0 до 100 при помощи метода random, нужно скрипт для генерации чисел от 0 до 1 умножить на 100.
Но и этот вариант работы метода random опять же практически бесполезен, так как, по сути, мы имеем все тоже дробное число, что и в предыдущем примере. В то время как для работы скриптов в основном требуется генерация целых чисел.
Здесь приходят на помощь методы round, floor или ceil из предыдущей заметки, которые позволяют округлять дробные числа.
<script type="text/javascript">
var any = Math.random() * 100; /* Генерируем число от 0 до 100 */
document.write(Math.round(any)); /* Округляем сгенерированное число */
</script>
Вот таким образом при помощи методов random и round объекта Math сначала генерируется, а потом округляется случайное число от 0 до 100.
Вместо 100 можно указать любое другое число, например, 40 или 400 и т.д. Тогда метод random будет выдавать случайные числа в диапазоне от 0 до любого указанного.
Скрипт для генерации чисел из ПРОИЗВОЛЬНОГО диапазона
В предыдущем примере мы убедились в том, что метод random вместе с одним из методов округления может генерировать случайные целые числа в диапазоне от 0 до любого указанного числа.
При этом мы имеем дело с довольно простым javascript-кодом.
Но что если нужно сгенерировать число в произвольном диапазоне, т.е. в таком, где первое число отлично от 0?
Для этого существует определенный скрипт. Смотрим пример ниже.
<script type="text/javascript">
function myRandom (from, to)
{
return Math.floor((Math.random() * (to - from + 1)) + from); /* Оператор return возвращает результат работы функции */
}
var result = myRandom(40,50);
document.write(result);
</script>
Пробуйте в этом скрипте указать свои числа.