J'ai cette image avec cette fonction en cliquant sur
<img src="assets/images/logo.svg" id="logo" onclick="alert('play')">
Si je fais la fonction suivante, ne devrait-elle pas fonctionner?
const alertPlay => alert("play");
si non, peut-être que je suis juste confus au sujet des fonctions fléchées en général.
De plus, n'y a-t-il pas de raccourci, comme
<img src="assets/images/logo.svg" id="logo" onclick="alertPlay()">
4 Réponses :
Votre fonction
serait
<img src="assets/images/logo.svg" id="logo" onclick="alertPlay('play')">
Et le HTML
const alertPlay = (message) => alert(message);
p >
@BhojendraRauniyar Je n'ai pas voté contre, mais avant de modifier, c'était const alertPlay => (message) => alert (message);
Vous utilisez une syntaxe incorrecte. La liste des paramètres d'une fonction sans paramètre doit être écrite avec une paire de parenthèses. () => alert ("play");
est le corps de la fonction. Vous devez l'attribuer à une variable en utilisant =
.
OP a demandé en commentaire: Aussi, pourquoi devrais-je mettre le ()
entre le =
et le =>
:
Parce que sa syntaxe correcte est décrite par docs a >
<img src="assets/images/logo.svg" id="logo" onclick="alertPlay()">
const alertPlay = () => alert("play");
Vous devez utiliser comme:
onclick="alertPlay()"
Et dans votre html, il devrait simplement être: (Aucune parenthèse requise)
const alertPlay = () => alert('play');
Si vous voulez transmettre la valeur dynamique plutôt que simplement play
, vous devrez utiliser comme:
const alertPlay = (str) => alert(str);
Je vais essayer d'expliquer tous les éléments de la fonction de flèche que vous pouvez utiliser.
<img src="assets/images/logo.svg" id="logo" onclick="alertPlay('play')"> const alertPlay = (message) => alert(message);
const funcName représente le nom de la fonction et qu'il est immuable, soulevant une erreur si vous essayez pour réaffecter sa valeur.
= (parameters) => alert ('message');
attribue à funcName la valeur, le premier est une parenthèse pour tous les arguments de la fonction, le la flèche est utilisée à la place du mot-clé de fonction avant la parenthèse et alert ('message'); est le javascript que vous souhaitez exécuter. Votre code javascript peut être plus long et vous pouvez alors utiliser des crochets {}.
Exemple de travail:
const funcName = (parameters) => alert('message');
Utilisez
const alertPlay => () => alert ("play");
Doit être
const alertPlay = () => alert ("play");
. Consultez la documentation .Lire la documentation developer.mozilla.org/en- États-Unis / docs / Web / JavaScript / Reference /…
??? de quel montage parlez-vous?