Maison > Article > interface Web > Pourquoi Console.log() affiche-t-il les valeurs modifiées au lieu des valeurs d'origine dans Chrome ?
Console.log() Incohérences dans Chrome lors de la journalisation d'objets et de tableaux
Dans Google Chrome, un comportement inattendu se produit lors de l'utilisation de console.log( ) pour enregistrer des tableaux ou des objets imbriqués. Si vous modifiez la valeur la plus interne d'un tableau ou d'un objet après l'avoir enregistré, console.log() affichera la valeur modifiée, et non les valeurs d'origine au moment de la journalisation.
Étapes pour reproduire
Pour recréer le problème :
Cette incohérence affecte également les objets et les tableaux stockés dans des variables (testb, testc).
Problème sous-jacent
Après des recherches approfondies, il a été a découvert que ce problème avait déjà été signalé comme un bogue dans WebKit (https://bugs.webkit.org/show_bug.cgi?id=35801). Les développeurs de Chromium ont reconnu le problème, mais ont déclaré qu'un correctif était peu probable en raison de limitations techniques.
Correction et incohérences
Cependant, un correctif a été implémenté dans WebKit en 2012. Malgré cela, Google Chrome n'a pas encore adopté le correctif. Par conséquent, le comportement de console.log() diffère selon que la fenêtre de la console est ouverte ou non au moment de la journalisation.
Conclusion
Ce bug dans la fonctionnalité console.log() de Google Chrome persiste et affecte les efforts de débogage. Il est recommandé d'être conscient de cette incohérence et d'envisager des méthodes de débogage alternatives jusqu'à ce que le problème soit résolu dans 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!