Случайни числа в 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 для начинающих | #12 Числа и методы чисел (Може 2024).