Cet article présentera comment utiliser la fonction JavaScript Math.random()
pour générer des nombres aléatoires et créer une fonction réutilisable pour appliquer à divers scénarios, tels que le chargement des images aléatoires, la sélection aléatoire d'éléments à partir d'un tableau et la génération de couleurs aléatoires. Lettres, chaînes, phrases et mots de passe.
Points de base:
Math.random()
intégrée dans JavaScript génère des nombres de points flottants pseudo-aléatoires entre 0 (inclus) et 1 (non inclus). Pour générer un nombre aléatoire supérieur à 1, multipliez simplement le résultat par le facteur d'échelle. Math.floor
pour arrondir. Pour générer des entiers aléatoires dans une plage spécifique, ajoutez simplement la valeur minimale de la plage au résultat. Math.random()
pour générer des images, des couleurs, des lettres, des chaînes, des phrases et des mots de passe aléatoires. Ces techniques peuvent ajouter des éléments aléatoires à votre programme JavaScript. randomInt
, randomColor
et randomString
) sont des blocs de construction pour des fonctions plus complexes, montrant la pierre angulaire de la programmation: en utilisant des fonctions pour créer des fonctions plus complexes. randoalité en javascript
Il est très utile d'ajouter des éléments aléatoires à votre programme. Vous voudrez peut-être ajouter des styles aléatoires pour améliorer le plaisir de votre site Web, générer des phrases aléatoires ou ajouter des éléments accidentels au jeu.
Malheureusement, la création de valeurs aléatoires réelles est en fait très difficile (sauf si vous êtes en mesure d'être exposée à des substances radioactives… ou à un singe utilisant un clavier). Pour résoudre ce problème, le langage de programmation utilise une méthode déterministe pour générer des nombres pseudo-aléatoires. Ces nombres semblent être aléatoires, mais sont en fait générés par des fonctions qui acceptent les valeurs de graines basées sur des événements tels que le temps ou la position du pointeur de la souris.
JavaScript a une fonction random
, qui est une méthode avec des objets Math
intégrés. La norme ECMAScript ne spécifie pas comment cette fonction doit générer des nombres aléatoires, il est donc laissé au fabricant du navigateur à implémenter. Au moment de la rédaction du moment de la rédaction, tous les principaux navigateurs utilisent actuellement l'algorithme XORSHIFT128 en arrière-plan pour générer des nombres pseudo-aléatoires.
pour l'utiliser, entrez simplement Math.random()
et il renverra un numéro de point flottant pseudo-aléatoire entre 0 (inclus) et 1 (non inclus):
const x = Math.random();
Cela peut être exprimé par l'inégalité suivante:
<code>0 ≤ x < 1</code>
Mais que se passe-t-il si vous voulez un nombre aléatoire supérieur à 1? C'est simple: il vous suffit de multiplier par un facteur d'échelle pour l'amplifier - par exemple, la multiplication du résultat par 10 donnera une valeur entre 0 (inclusive) et 10 (non incluse):
const y = Math.random() * 10;
Si nous multiplions les deux côtés de l'inégalité précédente de 10, nous pouvons voir la raison:
<code>0 ≤ y < 10</code>
mais le résultat est toujours un numéro de point flottant. Et si nous voulons un entier aléatoire? C'est très simple: nous avons juste besoin d'utiliser la fonction Math.floor
pour arrondir la valeur de retour dans l'entier ci-dessous. Le code suivant attribue un entier aléatoire entre 0 et 9 (inclus) à la variable z:
const z = Math.floor(Math.random() * 10);
Notez que même si nous multiplions par 10, la valeur retournée n'est que 9.
Nous pouvons généraliser cette méthode pour créer une fonction qui renverra 0 à (mais non incluse) un entier aléatoire entre les nombres fournis comme paramètre:
const x = Math.random();
Nous pouvons maintenant utiliser cette fonction pour renvoyer des nombres aléatoires entre 0 et 9:
<code>0 ≤ x < 1</code>
Nous avons donc maintenant un moyen de créer des entiers aléatoires. Mais que se passe-t-il si c'est entre deux valeurs différentes, au lieu de toujours commencer à zéro? Nous avons juste besoin d'utiliser le code ci-dessus et d'ajouter la valeur que nous voulons que la plage commence. Par exemple, si nous voulons générer des entiers aléatoires entre 6 et 10 (inclus), nous générerons d'abord des entiers aléatoires entre 0 et 4 en utilisant le code ci-dessus, puis ajouterons 6 au résultat:
const y = Math.random() * 10;
Notez que pour générer un entier aléatoire entre 0 et 4, nous devons en fait multiplier par 5.
Nous pouvons généraliser cette méthode pour créer une fonction qui renverra un entier aléatoire entre deux valeurs:
<code>0 ≤ y < 10</code>
Il s'agit juste d'une forme de code généralisée que nous écrivons pour obtenir des nombres aléatoires entre 6 et 10, mais remplacez 6 par le paramètre min
et 10 par le paramètre max
. Pour l'utiliser, entrez simplement deux paramètres pour représenter les limites inférieures et supérieures du nombre aléatoire (inclus). Par conséquent, pour simuler des dés à six faces, nous pouvons utiliser le code suivant pour retourner un entier entre 1 et 6:
const z = Math.floor(Math.random() * 10);
(l'image doit être insérée ici, mais l'image ne peut pas être affichée car le système de fichiers local ne peut pas être accessible)
Les autres pièces sont similaires au texte d'origine. Il convient de noter que les images doivent être conservées et conservées dans leur format d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!