Maison >interface Web >js tutoriel >La différence entre alert() et console.log() dans les compétences javascript_javascript

La différence entre alert() et console.log() dans les compétences javascript_javascript

WBOY
WBOYoriginal
2016-05-16 15:42:471335parcourir

[1]alerte()

[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 la sortie d'alerte est un objet, la méthode toString() sera automatiquement appelée

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

[1.3] l'alerte ne prend pas en charge l'écriture de plusieurs paramètres et ne peut afficher que la première valeur

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

Les résultats de alert et console.log sont différents ?

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 cela se produit-il ? Tout ne devrait pas être le cas :
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 » lorsque nous rencontrons des types de référence tels que tableaux et objets. Le problème ci-dessus se pose.

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.

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