Zum Debuggen von JavaScript -Programmen ist die Verwendung von console.log () ein besserer Weg als alert (), da: Die Funktion alert () die Ausführung von JavaScript -Programmen blockiert und Nebenwirkungen verursacht; Während console.log () nur relevante Informationen in der Konsole druckt, wird dies daher keine ähnlichen Bedenken hervorrufen.
Was ist console.log ()?
Mit Ausnahme einiger sehr alter Versionen von Browsern sind die meisten Browser heutzutage mit Debugging -Funktionen ausgestattet. Auch wenn es keine Debugging-Funktion gibt, können sie durch Installieren von Plug-Ins ergänzt werden. Zum Beispiel wird die alte Version von Firefox nicht mit Debugging -Tools ausgestattet. In diesem Fall können Sie Debugging-Funktionen hinzufügen, indem Sie das Firebug-Plug-In installieren. In einem Browser mit Debugging -Funktion wird eine Mitgliedsvariable mit dem Namen Console im Fensterobjekt registriert, wobei sich die Konsole im Debugging -Tool bezieht. Durch Aufrufen der Funktion log () des Konsolenobjekts können Sie Informationen in der Konsole drucken. Beispielsweise druckt der folgende Code "Beispielprotokoll" in der Konsole:
Die Codekopie lautet wie folgt:
window.console.log ("Beispielprotokoll");
Der obige Code kann das Fensterobjekt ignorieren und direkt abgekürzt wie:
Die Codekopie lautet wie folgt:
console.log ("Beispielprotokoll");
console.log () kann jegliches String-, Nummer- und JavaScript -Objekt akzeptieren. Ähnlich wie bei der Funktion alert () kann Console.log () auch Newlines/N- und Tab -Zeichen/t akzeptieren.
Die in der Konsole.Log () -Erklärung gedruckten Debugging -Informationen finden Sie in der Debugging -Konsole des Browsers. In jedem Browser finden Sie auf der folgenden Webseite:
http://stackoverflow.com/questions/4743730/what-is-console-log-how-do-i-use-it
Das Verhalten von console.log () kann in verschiedenen Browsern variieren. In diesem Artikel wird hauptsächlich die Verwendung von console.log () in Firebug erörtert.
Kompatibel mit Browsern ohne Debugg -Konsole
Bei älteren Browsern, denen die Debug -Konsole fehlt, gibt es nicht das Konsolenobjekt im Fenster. Daher kann die direkte Verwendung der Konsole (log () direkt zu Fehlern (Nullzeigerfehler) im Browser führen und schließlich in einigen älteren Browsern Abstürze verursachen. Um dieses Problem zu lösen, können Sie das Konsolenobjekt manuell definieren und erklären, dass die Protokollfunktion des Konsolenobjekts eine leere Funktion ist. Auf diese Weise, wenn die Anweisung console.log () ausgeführt wird, werden diese alten Versionen von Browsern nichts tun:
Die Codekopie lautet wie folgt:
if (! window.console) {
window.console = {log: function () {}};
}
In den meisten Fällen besteht jedoch nicht erforderlich, diese Kompatibilitätsarbeit zu erledigen - Debugging -Code wie Console.log () sollte aus dem Endproduktcode entfernt werden.
Nutzungsparameter
Ähnlich wie bei der Funktion alert () kann Console.log () auch Variablen akzeptieren und sie mit anderen Zeichenfolgen spleißen:
Die Codekopie lautet wie folgt:
// Variable verwenden
var name = "bob";
console.log ("Der Name ist:" + Name);
Im Gegensatz zur Funktion alert () kann Console.log () auch Variablen als Parameter akzeptieren, die in Zeichenfolgen übergeben werden, und seine spezifische Syntax stimmt mit der Printf -Syntax in C -Sprache überein:
Die Codekopie lautet wie folgt:
// Parameter verwenden
var people = "Alex";
var Jahre = 42;
console.log (" %s ist %d Jahre alt.", Menschen, Jahre);
Das Ausführungsergebnis des obigen Code ist: "Alex ist 42 Jahre alt."
Verwenden Sie andere Protokollebenen
Zusätzlich zu Console.log () unterstützt Firebug auch eine Vielzahl verschiedener Protokollebenen: Debug, Info, Warnung, Fehler. Der folgende Code druckt diese verschiedenen Protokollebenen in der Konsole aus:
Die Codekopie lautet wie folgt:
// Verwenden Sie unterschiedliche Protokollierungsstufe
console.log ("log Level");
console.debug ("Debug -Level");
console.info ("info Level");
console.warn ("Warn Level");
console.Error ("Fehlerebene");
Aus der Firebug -Konsole können Sie erkennen, dass die Farben und Symbole von Druckinformationen auf verschiedenen Protokollebenen unterschiedlich sind. Gleichzeitig können Sie in der Konsole verschiedene Protokollebenen auswählen, um diese Informationen zu filtern: