Maison  >  Article  >  interface Web  >  Console.log() affiche-t-il toujours les valeurs initiales des tableaux et des objets dans Google Chrome ?

Console.log() affiche-t-il toujours les valeurs initiales des tableaux et des objets dans Google Chrome ?

DDD
DDDoriginal
2024-10-20 11:57:02282parcourir

Does console.log() Always Show the Initial Values of Arrays and Objects in Google Chrome?

Comportement de Console.log() de Google Chrome avec les objets et les tableaux

Problème :

Dans Google Chrome, lorsqu'un Un tableau ou un objet imbriqué est enregistré à l'aide de console.log(), la modification ultérieure des valeurs du tableau ou de l'objet conduit à la sortie de la console affichant les valeurs mises à jour, plutôt que les valeurs au moment de la journalisation.

Solution :

Ce comportement est dû à un bug dans la fonctionnalité console.log() de Google Chrome.

Explication :

Webkit , le moteur de rendu sous-jacent utilisé par Chrome, présente un bug connu dans lequel l'expansion des objets et des tableaux enregistrés dans la console ne produit pas toujours une représentation précise de l'état de l'objet au moment de la journalisation.

Impact :

Cette incohérence peut entraîner de la confusion et des difficultés de débogage, en particulier lorsque l'on s'appuie sur la console pour inspecter les valeurs intermédiaires.

Reproduire le problème :

Pour reproduire le problème, suivez ces étapes :

  1. Ajoutez le script suivant à une page Web :

    <code class="js">var greetings=['hi','bye'];
    console.log(greetings);
    setTimeout(function(){
        greetings.push('goodbye');
    },3000);</code>
  2. Ouvrir la page dans une nouvelle fenêtre :

    • Avec la console déjà ouverte : La sortie console.log() affichera la valeur initiale du tableau (c'est-à-dire deux éléments).
    • Avec la console initialement fermée : La sortie console.log() affichera la valeur mise à jour du tableau (c'est-à-dire trois éléments) lorsque la console est ouverte après le chargement de la page.

Statut du bug :

Le bug a été corrigé dans Webkit, mais il n'a pas encore été intégré dans Google Chrome.

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!

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