"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi mes fonctions JavaScript ne sont-elles pas trouvées sur jsfiddle.net ?

Pourquoi mes fonctions JavaScript ne sont-elles pas trouvées sur jsfiddle.net ?

Publié le 2024-11-09
Parcourir:690

Why Can\'t My JavaScript Functions Be Found on jsfiddle.net?

Pourquoi le code JavaScript échoue sur jsfiddle.net

Le code fourni présente un problème lors de la tentative d'exécution sur jsfiddle.net, avec la journalisation de la console "ReferenceError : Nom de la fonction n'est pas défini." Pour comprendre cela, nous approfondissons la structure du code et analysons son exécution dans jsfiddle.

Le code définit des fonctions telles que BetterSelect et fillList au sein d'une fonction appelée window.onload. Dans un environnement Web typique, cette fonction garantit que le code s'exécute une fois la fenêtre chargée. Cependant, dans le cadre de jsfiddle, cet aspect introduit une distinction cruciale.

Lorsque le code est exécuté sur un site en direct, les fonctions sont disponibles globalement dans l'objet window car elles sont définies en dehors de toute portée de fonction spécifique. Cependant, dans jsfiddle, les fonctions ne sont accessibles que dans la portée de la fonction window.onload.

Il existe plusieurs solutions à ce problème :

  1. Définir les fonctions globalement : modifiez les déclarations de fonction en window.functionName = function(){};.
  2. JavaScript discret : séparez le HTML de JS pour attacher un comportement aux éléments DOM via JS uniquement.
  3. Désactivez le wrapping par défaut de jsfiddle : sélectionnez « No Wrap » (corps ou tête) au lieu de « onLoad ».

En résolvant ce problème de portée, vous pouvez vous assurer que votre code JavaScript s'exécute correctement sur les deux sites en ligne. et jsfiddle.net.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3