Maison  >  Article  >  interface Web  >  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 ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-30 22:06:29714parcourir

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: Function Name 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 au sein de 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 : Remplacez les déclarations de fonction par 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.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn