Ich habe eine Website laufen schwer AJAX und ich bin wirklich auf die Leistung, nachdem ich Strenge Warnung (Leistungsnachteil) in Firebug es zeigte mir eine Menge Warnung von System und jquery2.2.3 wie unten Bild.Warum habe ich einen Syntaxfehler bekommen, während ich im Firefox-Bug eine strikte Warnung (Leistungsstrafe) aktiviere?
Antwort
Mit strengen Mittel Browser wie viele Dinge überprüfen, ob die Variable vor der Verwendung initialisiert wird. Es gibt keinen Syntaxfehler usw.
Aktivieren der Option Strenge Warnungen (Leistungseinbußen) bedeutet, dass Sie auch JavaScript-Warnungen erhalten, die Hinweise zur korrekten Verwendung geben, jedoch keine Auswirkungen auf die Ausführung des Codes haben .
Beispiele dafür sind bereits in Ihrem Screenshot gezeigt, wie Referenzen auf undefinierte Variablen oder Verwendung eines einzelnen Gleichheitszeichens in einer Anweisung, die ein Vergleich sein kann.
Beispiel verursacht solche Nachrichten:
while (item = array[i]) {
...
}
In diesem Fall item
nicht über var
oder let
erklärt, bevor ein Wert zugewiesen wird, so dass Sie einen „Verweis auf nicht definierte Eigenschaft“ Warnung bekommen. Und eine Zuweisung wird innerhalb der while
Bedingung verwendet, die einen "Test auf Gleichheit (==) als Zuweisung (=) falsch eingegeben wird?" Warnung.
jQuery und andere Bibliotheken machen von solchen Konstrukten viel Gebrauch. Deshalb siehst du so viele Nachrichten, die damit zusammenhängen.
Die Protokolle, die mit <System>
gekennzeichnet sind, stammen vom internen Code des Browsers und können von Ihnen ignoriert werden. Um sie zu sehen, müssen Sie auch Chrome-Fehler anzeigen oder Chrome-Nachrichten anzeigen.
OK, das ist meine oder der Entwickler Fall richtig. – asdfasdf
Diese Nachrichten können aus fremdem Code oder Ihrem eigenen stammen. Auf der rechten Seite jeder Nachricht befindet sich ein Quelllink, der Sie darüber informiert, wo sich der Fehler befindet. –