Heim >Web-Frontend >js-Tutorial >Der Unterschied zwischen alarm() und console.log() in Javascript

Der Unterschied zwischen alarm() und console.log() in Javascript

高洛峰
高洛峰Original
2017-02-03 14:45:191795Durchsuche

[1]alert()

[1.1] Es hat eine blockierende Wirkung, wenn Sie nicht auf OK klicken, kann nachfolgender Code nicht weiter ausgeführt werden

[1.2] warning(). kann nur eine Zeichenfolge ausgeben. Wenn die Ausgabe erfolgt, ruft das Objekt automatisch die toString()-Methode auf, z. B. warning([1,2,3]);//'1,2,3'

[1.3] Alert wird nicht unterstützt. Beim Schreiben mehrerer Parameter kann nur der erste Wert ausgegeben werden

z. B. Alert(1,2,3);//1

[2 ]console.log()

[2.1] Ausgabe auf der Druckstation

[2.2] Kann jede Art von Daten drucken

z. B. console.log([1,2 ,3]);//[1,2 ,3]

[2.3] Unterstützt das Schreiben mehrerer Parameter

z. B. console.log(1,2,3)// 1 2 3

Alarm und Konsole Das Ergebnis des Protokolls ist unterschiedlich?

score = [1,2,3];
sortedScore = [];
console.log(score);
sortedScore = score.sort(sortNumber)
console.log(sortedScore);
function sortNumber(a, b) {
  return b - a;
}

Die obige Ausgabe:

[3, 2, 1]

[3, 2, 1]

Aber ändern Sie sie in „Alert“. :

score = [1,2,3];
sortedScore = [];
alert(score);
sortedScore = score.sort(sortNumber)
alert(sortedScore);
function sortNumber(a, b) {
  return b - a;
}

Die obige Ausgabe:

1, 2, 3

3, 2, 1

Warum ist das so? Sollten sie nicht alle sein:

1, 2, 3

3, 2, 1
?

Nach einigen Recherchen wurde festgestellt, dass es sich um ein von Chrome implementiertes Problem handelte. Wir haben unangemessene Optimierungen für die Ausgabe vorgenommen und die tatsächliche Ausführung von console.log verschoben, was einer „faulen“ Auswertung entspricht Arrays und Objekte, dieser Referenztyp verursacht das oben genannte Problem.

https://bugs.webkit.org/show_bug.cgi?id=35801


Dies ist ein sehr historischer FEHLER, der letzten Monat in der Entwicklungsversion behoben wurde .

Weitere Artikel zum Unterschied zwischen alarm() und console.log() in JavaScript finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn