Случайные числа в JavaScript
Случайные числа имеют всевозможное применение, от забавного до практического. Большинство игр включают в себя какую-то случайность в виде таких вещей, как игральные кости или перемешанные карты. Если вы хотите отображать случайную цитату, когда кто-то посещает вашу страницу, вам нужен источник случайности. Случайные числа не всегда забавны, и игры, случайные числа используются в криптографии, для случайной выборки, для моделирования и для размещения вещей в случайном порядке (например, кандидатов в бюллетене). Некоторые из этих применений не используют числа напрямую , но вы можете конвертировать из случайных чисел в случайные вещи, помещая вещи, которые вы хотите выбрать в строках и случайным образом выбирая строку. В программировании массивы хорошо работают для этого. Случайные числа не всегда действительно случайны. Если вы бросите набор справедливых кубиков, вы получите случайные числа, однако методы, используемые компьютерами для выбора случайных чисел, часто являются псевдослучайными числами, что означает, что они кажутся случайными на поверхности, но на самом деле они либо предсказуемы, либо повторяющиеся серии. Для некоторых вещей это не важная разница. Если вы отображаете случайную цитату или шутку каждый раз, когда кто-то загружает вашу веб-страницу, вероятно, не имеет значения, что кто-то может предсказать, когда появится конкретная цитата, и вы можете безопасно использовать псевдослучайные числа (в этом отношении, вы могли бы, вероятно, просто покажите свои кавычки в том порядке, в каком вы их записали.) Если вы пытаетесь провести произвольное тестирование на наркотики у спортсменов Тур де Франс, очень важно, чтобы спортсмены не могли предсказать, когда они будут проверены.

Объект JavaScript Math включает метод, который предоставляет псевдослучайные числа. В отличие от многих других языков программирования, JavaScript не позволяет заполнять генератор чисел собственным источником случайности. Разные реализации отличаются по тому, насколько близки к действительно случайным числам предоставленные числа, но в целом они должны быть достаточно хороши для использования в развлекательных или художественных целях, но если вам нужны случайные числа для целей, регулируемых законом или в целях безопасности, вы должны найти лучший источник хаотичность. math.random () Метод возвращает случайное число, которое либо 0, либо между 0 и 1. Некоторые версии браузера Opera имеют нестандартные совместимые math.random () метод, который очень редко возвращает 1. Вам нужно как-то обработать этот неожиданный результат - самое простое предложение, которое я видел, - это использовать оператор по модулю с одним против значения, возвращаемого math.random (), это вернет исходное значение, если случайное число находится в заданном диапазоне, и 0, если вы получили 1. Кроме того, я обнаружил, что мне не нужно случайное десятичное число меньше единицы, а скорее случайное целое число. Чтобы получить случайное целое число, вы умножаете значение из math.random () по числу потенциальных случайных чисел, которые вы хотите (X) и найти предыдущее или следующее целое число. Математический объект предоставляет методы пола и потолка, которые вы можете использовать для этой цели. Если вы используете Math.floor () метод, вы получите число от 0 до (X-1). Если вы используете math.ceiling () Метод, вы получите целое число от 1 до X.

Чтобы найти случайное число от 0 до (X-1), используйте:

Math.floor ((Math.random ()% 1) * X)

Они особенно полезны для поиска случайного элемента массива.

Чтобы найти случайное число от 1 до X, используйте:

Math.ceiling ((Math.random ()% 1) * X)

Подобные задачи, которые довольно распространены, но требуют некоторого набора текста, являются хорошими кандидатами для превращения в функцию.

Чтобы обсудить разницу между действительно случайными числами и псевдослучайными числами, которые мы здесь используем, источником действительно случайных чисел и некоторыми примерами забавных вещей, которые вы можете сделать со случайными или псевдослучайными числами, посетите www.random. организация

Видео инструкция: Знакомство с JavaScript #6 - Случайные числа (May 2024).