Je crée une classe JavaScript pour gérer les balises SVG dans HTML. (Je sais qu'il y a beaucoup de cours qui le fait déjà, mais je n'ai pas réussi avec des transformations via SVG.J. Aussi, j'ai apporté toutes les fonctions requises à travailler et je veux juste les mettre en œuvre comme une classe à la facilité syntaxique. )
Cependant, ne pas être aussi familier avec JavaScript, j'ai des problèmes avec une variable qui est définie sur En essayant de l'exécuter, je suis retourné le code d'erreur suivant:
Comment définir la variable correctement? J'utilise Chrome (version 83.0.4103.116) et le navigateur prend en charge des cours aussi loin que je suis remarqué. P> Faites-moi savoir si je devrais fournir toute autre information pertinente. P> P> non défini code> dans mon constructeur: p>
p>
3 Réponses :
Je suppose que le programme n'a pas encore été déclaré, vous devrez donc utiliser var.
for(var prop in obj) { this.svgobj.setAttribute(prop, obj[prop]) }
Oui merci! C'était la solution. J'ai été surpris que mon code ait effectivement travaillé dans une fonction générale mais j'ai fait des problèmes lorsque vous essayez de la mettre en œuvre dans une classe. Je pense que cela pourrait être un cas d'une erreur pythonique (ne pas penser à la déclaration de l'identifiant des variables). Bravo et la vitesse de Dieu!
Vous pouvez essayer ceci:
for (const prop in obj) { this.svgobj.setAttribute(prop, obj[prop]); }
La déclaration de variable était votre problème.
Votre code pourrait être optimisé en remplaçant la boucle
Vous n'avez pas déclaré
PROP code> Anywhere et
Classe code> est toujours strict, vous obtenez donc l'erreur (plutôt que l'alternative bien pire - un global implicite). Ajouter
const code> devant
prop code>:
pour (const accéder à obj) code>.
S'il vous plaît ne modifiez pas votre réponse dans la question. Si vous ressentez la nécessité d'écrire une réponse, écrivez-en une comme une réponse réelle.