Différence entre console.log et alert en javascript
let menu = {
width: 200,
height: 300,
title: "My menu"
};
function multiplyNumeric(obj) {
for (let key in obj) {
if (typeof obj[key] == "number") {
obj[key] *= 2;
}
}
}
multiplyNumeric(menu);
alert(menu);
console.log(menu)
J'ai rencontré ce problème.
donc à la fin du code quand je fais une alerte (menu); J'obtiens [objet objet].
mais quand je fais console.log (menu); J'obtiens {largeur: 400, hauteur: 600, titre: 'Mon menu'}. C'est ce que je voulais. Alors, qu'est-ce qui fait la différence?
Réponses
C'est parce que menu
lui-même est un objet.
Lorsque nous utilisons alert, une fenêtre contextuelle s'ouvre avec un message donné, qui attend une chaîne. Une fois passé avec un objet, vous obtiendrez à la place[object Object]
Essayez alert(JSON.stringify(menu))
plutôt de voir la sortie stringifiée complète
Si vous lisez correctement sur w3schools . Alert prend une chaîne comme paramètre et votre menu n'est pas une chaîne, c'est un objet, donc au lieu d'afficher le menu, il affiche le type de menu
vous pouvez faire quelque chose comme ceci:
alert(JSON.stringify(menu));