Je suis nouveau en JavaScript et je suis très confondu avec la commande aléatoire en JavaScript parce que dans Python, c'est tellement différent. J'ai besoin d'aide, car je souhaite faire un site Web sur lequel vous avez 3 boutons, lorsque vous appuyez sur la première, un seul mot aléatoire à partir de la première liste est écrit dans la classe de texte au-dessus des boutons et lorsque vous appuyez sur le bouton 2 uniquement. Un mot de la 2. La matrice apparaît. Mais mon code javascript ne fonctionne pas comme si cela devrait. Voici le code.
var Orte=('a','b','c') var zufall=random(Orte) button1.onclick= document.getElementByclass('text')[0].innerHTML = 'zufall'
3 Réponses :
L'API DOM que vous recherchez est: getelementsbyclassname OnClick doit être une fonction qui sera appelée sur un événement de clic. Ce que vous faites, c'est appeler JavaScript Array littéraux a> sont notés avec [] non (). P> Je suppose que la chaîne "Zufall" n'est pas ce que vous voulez, mais la variable Zufall, que j'ai ajustée en supprimant les guillemets simples. P> Math.Random () (pas à nouveau, les variables sont définies lorsqu'elles sont attribuées. Ce qui n'est probablement pas ce que vous voulez ici. La même chose se passe dans Python. Zufall serait attribué une valeur qui ne change pas à moins que quelque chose soit appelé pour le mettre à jour. C'est une erreur commune, bien que comme un programmeur expérimenté de Python, vous ne devriez plus faire cette erreur. p> innerhtml = 'zufall' code> immédiatement, retourner la chaîne
'zufall' code> et attribuer
onclick = 'zufall' code>, lequel n'est pas ce que tu veux. P>
aléatoire () CODE>) Retourne un nombre aléatoire de 0 à 1. Multipliez cela par la longueur et ensuite le plancher entier (vous pouvez utiliser math.trunch () également). Et ensuite entre parenthèses pour accéder à cet indice en orte. P>
Je l'ai ajusté pour que cela met à jour Zuffall à chaque clic. Comme vous devriez pouvoir le voir, une variable globale est inutile. Vous ne pouvez simplement générer que la Zufall uniquement dans le gestionnaire OnClick. P> <div class="text"></div>
<button id="button1">click</button>
La meilleure chose à faire est d'étudier un peu mais plus sur les variables, les tableaux, les fonctions maths.random (). Ma contribution: p>
variables: la meilleure pratique consiste à les nommer à l'aide du format Camelcase (plus sur les meilleures pratiques ici: https://www.robinwieruch.de/javascript -naming-conventions ) p> li>
Tableaux: vous définissez des tableaux en utilisant "[]". Dans votre exemple, il devrait être: p>
var ortet = ['A', 'B', 'C']; P>
En outre, il sera bon de lire sur la manière dont vous pouvez accéder à ces valeurs car vous utiliserez ces connaissances dans votre fonction Math.Random. P> LI>
Fonction aléatoire: Pour comprendre correctement comment utiliser la fonction MATH.RANDOM (), veuillez cocher ce lien: https://Developer.mozilla.org/en-us/docs/web/javascript/reference/global_Objects/math/random . p> li>
Lorsque vous utilisez '' ou "", tout ce qui est entre les deux est traité comme une chaîne. Donc, dans votre code: "... innerhtml =" Zufall "", vous êtes à la recherche de la chaîne "Zuffal", pas la variable. P> Li> ul>
J'ai essayé de créer un exemple de travail afin que vous puissiez comparer: p>
Vous pouvez le faire avec JavaScript simple comme celui-ci:
p>
<script src="https://randojs.com/1.0.0.js"></script> <div class="text"></div> <button onclick="showRandomFrom(arr1);">From arr1</button> <button onclick="showRandomFrom(arr2);">From arr2</button> <button onclick="showRandomFrom(arr3);">From arr3</button>
Les deux premières lignes de votre extrait ne sont pas valides JavaScript. Vous voudrez peut-être rechercher des matrices JavaScript et la
math.random () code>.
Java! == JavaScript