Menjana nombor rawak dalam javascript dengan math.random ()
Feb 11, 2025 am 08:31 AM Artikel ini akan memperkenalkan cara menggunakan fungsi JavaScript Math.random()
untuk menghasilkan nombor rawak dan membina fungsi yang boleh diguna semula untuk memohon kepada pelbagai senario, seperti memuatkan gambar rawak, pemilihan elemen rawak dari array, dan menghasilkan warna rawak. Surat, rentetan, frasa, dan kata laluan.
mata teras:
- Fungsi terbina dalam
Math.random()
dalam JavaScript menghasilkan nombor titik terapung pseudo-random antara 0 (inklusif) dan 1 (tidak termasuk). Untuk menghasilkan nombor rawak lebih besar daripada 1, hanya kalikan hasilnya dengan faktor skala. - Untuk menghasilkan integer rawak, gunakan fungsi
Math.floor
untuk bulat. Untuk menjana bilangan bulat rawak dalam julat tertentu, tambahkan nilai minimum julat ke hasilnya. - Artikel ini menunjukkan cara menggunakan fungsi
Math.random()
untuk menghasilkan imej rawak, warna, huruf, rentetan, frasa, dan kata laluan. Teknik -teknik ini boleh menambah elemen rawak ke program JavaScript anda.
Fungsi -fungsi yang dibuat dalam artikel - (seperti
randomInt
,randomColor
danrandomString
) adalah blok bangunan untuk fungsi yang lebih kompleks, menunjukkan asas pengaturcaraan: menggunakan fungsi untuk mewujudkan fungsi yang lebih kompleks.
Rawak dalam JavaScript
Malangnya, mewujudkan nilai rawak sebenar sebenarnya sangat sukar (kecuali jika anda dapat terdedah kepada bahan radioaktif ... atau monyet menggunakan papan kekunci). Untuk menyelesaikan masalah ini, bahasa pengaturcaraan menggunakan kaedah deterministik untuk menghasilkan nombor pseudo-rawak. Nombor -nombor ini kelihatan rawak, tetapi sebenarnya dihasilkan oleh fungsi yang menerima nilai benih berdasarkan peristiwa seperti masa atau kedudukan penunjuk tetikus.
JavaScript mempunyai fungsi
, yang merupakan kaedah dengan objek terbina dalam random
. Standard ECMAScript tidak menentukan bagaimana fungsi ini harus menghasilkan nombor rawak, jadi ia ditinggalkan kepada pengeluar penyemak imbas untuk dilaksanakan. Pada masa penulisan, semua pelayar utama kini menggunakan algoritma Xorshift128 di latar belakang untuk menghasilkan nombor pseudo-rawak. Math
dan ia akan mengembalikan nombor titik terapung pseudo-random antara 0 (inklusif) dan 1 (tidak termasuk): Math.random()
const x = Math.random();ini boleh dinyatakan oleh ketidaksamaan berikut:
<code>0 ≤ x < 1</code>Tetapi bagaimana jika anda mahukan nombor rawak lebih besar daripada 1? Ia mudah: anda hanya perlu membiak dengan faktor skala untuk menguatkannya - contohnya, mengalikan hasil dengan 10 akan menghasilkan nilai antara 0 (inklusif) dan 10 (tidak termasuk):
const y = Math.random() * 10;Jika kita melipatgandakan kedua -dua belah ketidaksamaan sebelumnya dengan 10, kita dapat melihat sebabnya:
<code>0 ≤ y < 10</code>Tetapi hasilnya masih merupakan nombor titik terapung. Bagaimana jika kita mahukan integer rawak? Ia sangat mudah: kita hanya perlu menggunakan fungsi
untuk mengelilingi nilai pulangan ke integer di bawah. Kod berikut memberikan integer rawak antara 0 dan 9 (termasuk) kepada pembolehubah Z: Math.floor
const z = Math.floor(Math.random() * 10);Perhatikan bahawa walaupun kita membiak dengan 10, nilai yang dikembalikan hanya 9.
kita boleh merumuskan kaedah ini untuk membuat fungsi yang akan kembali 0 ke (tetapi tidak termasuk) integer rawak antara nombor yang disediakan sebagai parameter:
const x = Math.random();
sekarang kita boleh menggunakan fungsi ini untuk mengembalikan nombor rawak antara 0 dan 9:
<code>0 ≤ x < 1</code>
jadi kita kini mempunyai cara untuk membuat bilangan bulat rawak. Tetapi bagaimana jika ia adalah antara dua nilai yang berbeza, bukannya selalu bermula dari sifar? Kami hanya perlu menggunakan kod di atas dan menambah nilai yang kami mahu julat bermula. Sebagai contoh, jika kita mahu menjana bilangan bulat rawak antara 6 dan 10 (termasuk), kita akan terlebih dahulu menjana bilangan bulat rawak antara 0 dan 4 menggunakan kod di atas, dan kemudian tambahkan 6 kepada hasilnya:
const y = Math.random() * 10;
Perhatikan bahawa untuk menghasilkan integer rawak antara 0 dan 4, kita sebenarnya perlu membiak dengan 5.
kita dapat merumuskan kaedah ini untuk membuat fungsi yang akan mengembalikan integer rawak antara dua nilai:
<code>0 ≤ y < 10</code>
Ini hanya bentuk kod umum yang kami tulis untuk mendapatkan nombor rawak antara 6 dan 10, tetapi ganti 6 dengan parameter min
dan 10 dengan parameter max
. Untuk menggunakannya, masukkan dua parameter untuk mewakili had bawah dan atas nombor rawak (termasuk). Oleh itu, untuk mensimulasikan dadu enam sisi bergulir, kita boleh menggunakan kod berikut untuk mengembalikan integer antara 1 dan 6:
const z = Math.floor(Math.random() * 10);
Selebihnya bahagiannya sama dengan teks asal. Harus diingat bahawa gambar -gambar perlu dipelihara dan disimpan dalam format asalnya.
Atas ialah kandungan terperinci Menjana nombor rawak dalam javascript dengan math.random (). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza. 1.Java adalah bahasa yang ditaip dan disusun secara statik, sesuai untuk aplikasi perusahaan dan sistem besar. 2. JavaScript adalah jenis dinamik dan bahasa yang ditafsirkan, terutamanya digunakan untuk interaksi web dan pembangunan front-end.
