Perbedaan antara console.log dan alert di javascript

Dec 15 2020
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)

Saya mengalami masalah ini.

jadi di akhir kode ketika saya melakukan peringatan (menu); Saya mendapatkan [Objek Objek].

tetapi ketika saya melakukan console.log (menu); Saya mendapatkan {lebar: 400, tinggi: 600, judul: 'Menu saya'}. Itulah yang saya inginkan. Jadi apa yang menyebabkan perbedaan tersebut?

Jawaban

3 IcyBloom Dec 15 2020 at 14:10

Itu karena menudirinya adalah sebuah Object.

Saat kami menggunakan peringatan, kotak pop up terbuka dengan pesan tertentu, yang mengharapkan String. Ketika dilewatkan dengan sebuah Object, Anda malah akan mendapatkannya[object Object]

alert(JSON.stringify(menu))Sebagai gantinya, coba lihat keluaran lengkap yang dirangkai

1 Ashish Dec 15 2020 at 14:10

Jika Anda membaca dengan benar di w3sekolah . Peringatan mengambil string sebagai parameter dan menu Anda bukanlah string itu objek jadi alih-alih menampilkan menu itu menunjukkan jenis menu

Anda bisa melakukan sesuatu seperti ini:

alert(JSON.stringify(menu));