Maison >interface Web >js tutoriel >La différence entre alert() et console.log() en javascript

La différence entre alert() et console.log() en javascript

高洛峰
高洛峰original
2017-02-03 14:45:191735parcourir

[1]alert()

[1.1] Cela a un effet bloquant. Si vous ne cliquez pas sur OK, le code suivant ne peut pas continuer à s'exécuter

[1.2] alert(). ne peut produire qu'une chaîne. Si alert Le résultat est que l'objet appellera automatiquement la méthode toString()

par exemple alert([1,2,3]);//'1,2,3'

[1.3] l'alerte n'est pas prise en charge Lors de l'écriture de plusieurs paramètres, seule la première valeur peut être générée

par exemple alert(1,2,3);//1

[2 ]console.log()

[2.1] Sortie sur la station d'impression

[2.2] Peut imprimer tout type de données

par exemple console.log([1,2 ,3]);//[1,2 ,3]

[2.3] Prend en charge l'écriture de plusieurs paramètres

par exemple console.log(1,2,3)// 1 2 3

alerte et console Le résultat du log est différent ?

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

Le résultat ci-dessus :
[3, 2, 1]
[3, 2, 1]

Mais changez-le en alerte :

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

Le résultat ci-dessus :
1, 2, 3
3, 2, 1

Pourquoi est-ce ? Ne devraient-ils pas tous être :
1, 2, 3
3, 2, 1
?

Après quelques recherches, il a été constaté qu'il s'agissait d'un problème avec l'implémentation de Chrome. Nous avons effectué des optimisations inappropriées pour la sortie et reporté l'exécution réelle de console.log, ce qui équivaut à une évaluation "paresseuse". tableaux et objets, ce Le type de référence provoque le problème ci-dessus.

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

Il s'agit d'un BUG très historique, ​​qui a été corrigé dans la version de développement le mois dernier .

Pour plus d'articles sur la différence entre alert() et console.log() en javascript, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn