Diferença entre console.log e alert em 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)
Corri para este problema.
então no final do código quando eu faço alert (menu); Eu obtenho [objeto Object].
mas quando faço console.log (menu); Eu obtenho {largura: 400, altura: 600, título: 'Meu menu'}. Que é o que eu queria. Então, o que está causando a diferença?
Respostas
Isso porque menu
ele mesmo é um objeto.
Quando usamos o alerta, uma caixa pop-up é aberta com uma determinada mensagem, que espera um String. Quando passado com um objeto, você receberá[object Object]
Tente, em alert(JSON.stringify(menu))
vez disso, ver a saída stringificada
Se você leu corretamente no w3schools . O alerta leva uma string como parâmetro e o seu menu não é uma string, é um objeto então em vez de mostrar o menu mostra o tipo de menu
você pode fazer algo assim:
alert(JSON.stringify(menu));