Maison > interface Web > js tutoriel > Pourquoi la console JavaScript de Chrome affiche-t-elle un comportement d'évaluation d'objet différent de celui de Firefox ?

Pourquoi la console JavaScript de Chrome affiche-t-elle un comportement d'évaluation d'objet différent de celui de Firefox ?

Barbara Streisand
Libérer: 2025-01-04 17:37:43
original
553 Les gens l'ont consulté

Why Does Chrome's JavaScript Console Show Different Object Evaluation Behavior Than Firefox?

Comportement d'évaluation de la console JavaScript de Chrome pour les objets

Dans l'extrait de code donné :

var s = ["hi"];
console.log(s);
s[0] = "bye";
console.log(s);
Copier après la connexion

Consoles Firefox et Chrome afficher des résultats différents. Firefox affiche le tableau mis à jour après la modification, tandis que Chrome affiche la valeur modifiée dans les deux cas.

Cause de la divergence

La console JavaScript de Chrome effectue une évaluation paresseuse des objets. Cela signifie qu'il n'évalue l'objet que lorsque cela est nécessaire, par exemple lorsqu'il doit l'afficher dans la console. Par conséquent, dans ce cas, Chrome n'évalue pas l'objet lors de la première instruction console.log mais attend plutôt que la deuxième instruction console.log soit exécutée. Cela permet à Chrome d'éviter la surcharge liée à l'évaluation prématurée de l'objet.

Éviter la paresse

Pour forcer Chrome à évaluer l'objet immédiatement, on peut utiliser la méthode toString du object, comme ceci :

console.log(s.toString());
Copier après la connexion

En appelant toString, une représentation de l'objet est créée qui ne sera pas modifiée par les instructions ultérieures. Lorsque Chrome évalue l'instruction console.log, elle aura la valeur mise à jour de l'objet disponible, donc aucune évaluation paresseuse n'aura lieu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal