Sonntag, April 5, 2020

Warum ist console.log () besser als alert ()?

Ich habe immer gesagt worden, dass, wenn eine Anwendung zu Debuggen, JavaScript – console.log() Methode ist vorzuziehen, einfach mit einem alert() Methode. Warum ist das so? Gibt es ein gutes Beispiel jemand kann mir wo console.log() ist offensichtlich die bessere Wahl?

InformationsquelleAutor der Frage Daniel Szabo | 2011-11-20

9 Kommentare

  1. 31
    • alert() blockiert
    • alert() können nicht einfach unterdrückt, die in nicht-debug-Umgebung
    • console in der Regel Formate Ihre Objekte schön und lässt zu, durchqueren Sie
    • logging-Anweisungen haben Häufig eine interaktive Zeiger auf code, der ausgegeben logging-Anweisung
    • du kannst nicht an mehr als einem alert() Nachricht
    • consoles können verschiedene logging-Ebenen mit intuitive Formatierung

    InformationsquelleAutor der Antwort Tomasz Nurkiewicz

  2. 5

    Versuchen Sie dies:

    var data = {a: 'foo', b: 'bar'};
    console.log(data);
    alert(data);

    Du wirst sehen, dass console.log zeigt Sie das Objekt, während alert gibt Sie [object Object], die nicht nützlich. Dies gilt auch, z.B. Elemente:

    alert(document.body); //[object HTMLBodyElement] (exact result depends on your browser)

    InformationsquelleAutor der Antwort lonesomeday

  3. 4

    Beide sind nur ein Weg, um Informationen zu bekommen über das, was passiert zur Zeit in Ihrem JS. Ich verwendet, um mit Hilfe von alert() die ganze Zeit, sondern migriert zu trösten.log() für ein paar Gründe. (Anmerkung: die Konsole bietet mehr als nur log(), nehmen Sie einen Blick an, was anderes kann es tun).

    Ich denke, die wichtigsten Vorteile der Konsole.log ():

    • es nicht stoppen Prozesse wie die Warnung funktioniert
    • können Sie sehen, welche Linie, was Skript warf den log-Eintrag, ohne die Linie in Ihrer Nachricht
    • wenn Sie mehr als eine Sache, die Sie Debuggen sind kann es echt ärgerlich, schlagen zu halten “ ok “ auf dem alert-Boxen
    • Sie können sich die Objekte und Holen Sie sich viele gute Infos (danke für die Erinnerung, andere Beantworter)

    Es am Ende darauf an, wie Sie es vorziehen, zu Debuggen.

    Einer Sache bewusst zu sein. Nicht alle Browser UNTERSTÜTZEN die Konsole.log() und wird ein problem haben, wenn Sie verlassen Ihre Konsole.log () – Aufrufe in Ihren code. Bieten Sie eine Konsole-stub, wenn die Konsole nicht verfügbar ist, um dieses problem zu bekommen.

    InformationsquelleAutor der Antwort greenanvil

  4. 3

    Es ist non-blocking und ermöglicht es Ihnen, tief zu untersuchen, Objekte (sondern dann nur sehen die Ergebnisse toString()ing).

    InformationsquelleAutor der Antwort Quentin

  5. 2

    Den alert muss geschlossen werden, bevor die Ausführung von javascript fortsetzen können. console.log hat kein solches problem.

    console.log wird auch angezeigt, das Objekt mit Werten, wo ein Ruf zu alert benötigen Sie durchqueren das Objekt zuerst.

    InformationsquelleAutor der Antwort Oded

  6. 1

    Wenn Sie vergessen haben, entfernen Sie ein debugging-alert-Anweisung wird es direkt auf die end-Benutzer.

    Wenn Sie vergessen zu entfernen debuggins Konsole.log-Anweisung der Benutzer ist nicht betroffen.

    Neben der Konsole.anmelden können Sie sehen den gesamten Inhalt eines Objekts anstelle von JavaScript toString () – Darstellung.

    InformationsquelleAutor der Antwort John Hartsock

  7. 1

    Ich denke, es ist eher eine Frage des Geschmacks, aber es gibt eine Reihe von Vorteile der Verwendung der Konsole.log:

    • Sagen, Sie möchten, melden Sie 20 verschiedene Dinge, das wäre sehr ärgerlich mit der Warnmeldung.
    • Können, melden Sie sich Objekte zum Beispiel, und dann überprüfen Sie.
    • In den Chrome Dev-tools zum Beispiel, Sie können bewahren Sie das Protokoll zwischen den verschiedenen Seiten.
    • Es ist non-blocking
    • Es nicht auf die end-Benutzer, wenn vergessen

    Einige zu nennen.

    InformationsquelleAutor der Antwort Christofer Eliasson

  8. 0

    Da Warnungen sind ein PITA, halt alles, bis es den Eingang, und nicht zulassen, Objekt-Introspektion.

    Mit einem debugger ist auch besser unter Umständen.

    InformationsquelleAutor der Antwort Dave Newton

  9. 0

    alert () – hält alle Interaktionen mit dem browser, bis die Nachricht abgewiesen wird, während die Konsole.log() druckt nur die Meldung in der Konsole.

    Ex. Sie drucken die Werte einer Reihe von Variablen, um sicherzustellen, dass Sie richtig sind und nicht möchten, schließen Sie das Alarm-Fenster nach jeder variable.

    InformationsquelleAutor der Antwort Firenze

Kostenlose Online-Tests