3 votes

Comportement étrange de console.log avec un objet JavaScript

Lorsque j'imprime l'objet en HTML en utilisant la boucle for each, je n'obtiens que la moitié du contenu de l'objet mais lorsque j'imprime en utilisant console.log et j'appuie sur le petit triangle, j'obtiens l'objet complet et i est affiché près de cet objet lorsque je le survole, il indique que la valeur vient d'être évaluée comme le montre l'image ci-dessous, enter image description here

Lorsque j'imprime le même objet en HTML, cela ressemble à ceci,

7.33--Some Name
7.08--Some Name
7.83--Some Name

En fait, object contient un total de 5 éléments comme le montre l'image ci-dessus, Code pour l'impression de l'objet HTML,

for (var key in obj){
    $("p").append(key+"--"+obj[key][0]+"<br>");
}

10voto

Shubham Khatri Points 67350

Examen des objets via console.log se produit dans un asynchronous manière.

La référence à l'objet est passée de manière synchrone à la console mais elle n'affiche pas les propriétés jusqu'à ce qu'elle soit étendue. Si l'objet a été modifié avant d'être examiné dans la console, les données affichées auront les valeurs mises à jour. La console de Chrome montre un peu i dans une boîte qui dit que la valeur ci-dessous vient d'être évaluée.

Afin d'imprimer l'objet complètement dans la console, vous pouvez le stringifier et le loguer comme suit

console.log(JSON.stringify(obj));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X