Ok donc j'espère que c'est une question qui est de ne pas de base pour vous les gars. P>
Je sais assez jQuery pour me mettre en difficulté, ce qui signifie que je peux saisir des éléments et faire des choses avec elle, écrire mes propres petites fonctions d'interactivité et de tels. Mais quelque chose ne va pas comme prévu, avant de poser des questions aux stackoverflow et obtenir des réponses qui me font me gifle au front, je voudrais déboguer moi-même et je suis malade d'insérer Est-ce que quelqu'un d'entre vous connaissez une bonne ressource ou tutoriel (n'a pas peur de lire un livre) qui peut expliquer comment utiliser ces fonctions pour le laïque strong>. Il semble que les didacticiels et cette conclusion am I sont de toute façon à avancé ou tout simplement écrémé la surface et ne vous montrent pas comment les utiliser. Je comprends que je peux insérer Toute aide serait grandement apprécié que je me sens d'apprendre cela me aider à comprendre ce qui se passe dans mon code, je peux cesser de regarder à l'écran va « Pourquoi est-ce pas de travail, il a travaillé dans le alert (); code> dans mon code. En lisant sur le sujet, il est fait mention de console.log (); code>, console.info (); code> et tel, mais je ne peux trouver aucune ressource qui explique comment à utiliser dans de vrais scénarios du monde pour le débogage. p>
console.log (); code> et il crache des informations dans la console Firebug code> ou Inspecteur de l'élément code>. Mais si ma main la fonction du four est en train de faire quelque chose quelque part inattendu la ligne, comment puis-je trouver le problème comme le navigateur le javascript parse. P>
jsFiddle code> » strong> p>
5 Réponses :
essentiellement console.log () code> vous permet de produire des variables de votre débogueur JavaScript de votre choix au lieu de clignoter un alerte alerte () code> chaque fois que vous voulez inspecter quelque chose .. . De plus, pour des objets plus complexes, il vous donnera une vue d'arborescence pour inspecter l'objet en outre au lieu de devoir convertir des éléments en chaînes comme un alerte () code>. P>.
Apprenez à utiliser un débogueur JavaScript. Venkman (pour Firefox) ou l'inspecteur Web (une partie de Chome & Safari) sont d'excellents outils permettant de déboguer ce qui se passe. P>
Vous pouvez définir des points d'arrêt et interroger l'état de la machine lorsque vous interagissez avec votre script; Trouvez des parties de votre code pour vous assurer que tout fonctionne comme prévu, etc. P>
Voici un Excellente écrivez de webmonkey sur le débogage JavaScript pour les débutants . C'est un endroit idéal pour commencer. P>
console.log () prend simplement ce que vous y passerez et l'écrit à la fenêtre de journalisation d'une console. Si vous passez dans un tableau, vous pourrez inspecter le contenu de la matrice. Passez dans un objet, vous pouvez examiner les attributs / méthodes de l'objet. Passez une chaîne, ça va enregistrer la chaîne. Fondamentalement, c'est "document.write" mais peut exprimer intelligemment ses arguments et les écrire ailleurs. P>
Il est utile de délivrer des informations de débogage occasionnelles, mais pas particulièrement utile si vous avez une quantité massive de débogage. p>
Pour regarder en tant qu'exécuter d'un script, vous utiliseriez un débogueur à la place, ce qui vous permet de passer à travers le code ligne-ligne. Console.log est utilisé lorsque vous devez afficher ce que le contenu de la variable était pour une inspection ultérieure, mais ne souhaitez pas interrompre l'exécution. P>
D'accord, sauf que je dirais console.log code> est, à des fins de débogage analogues à alerte code>, pas document.write code>.
Peut-être que, mais alerte l'exécution, tandis que Document.Write ne le fait pas.
Ne pas entrer dans un débat ici, mais document.write code> a ses propres différences, comme le remplaçant complètement le contenu du DOM si on l'appelle après la fermeture du document.
points d'arrêt et des points d'arrêt conditionnels sont vos amis. P>
Aussi, vous pouvez écrire de petite fonction comme fonction similaire qui vérifiera les valeurs et lancera des exceptions si nécessaire dans la version de débogage du site (une variable est définie sur True ou URL a un paramètre) P>
J'aime ajouter ces fonctions dans la tête.
$(".classname").log(); //show an array of all elements with classname class
En Firebug et Chrome, vous pouvez définir des points d'arrêt, passer à travers le code, etc.
@ Mдγγбдll juste parce que la programmation est complexe ne signifie pas que cela doit être expliqué de manière complexe. Il n'y a aucun moyen que les gens vont apprendre quelque chose à moins que cela ne soit écrit pour leur niveau de connaissances sur le sujet. Quand vous avez commencé, un guide de programmation de niveau C sur le niveau de systèmes était-il beaucoup d'usage? Probablement pas.