console.logとjavascriptのalertの違い
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)
私はこの問題に遭遇しました。
したがって、コードの最後でalert(menu)を実行します。[オブジェクトオブジェクト]を取得します。
しかし、console.log(menu);を実行すると {幅:400、高さ:600、タイトル: 'マイメニュー'}を取得します。それが私が欲しかったものです。では、何が違いを引き起こしているのでしょうか?
回答
3 IcyBloom Dec 15 2020 at 14:10
それmenu
自体がオブジェクトだからです。
アラートを使用すると、文字列を期待する特定のメッセージを含むポップアップボックスが開きます。オブジェクトとともに渡されると、代わりに次のようになります。[object Object]
alert(JSON.stringify(menu))
代わりに、完全な文字列化された出力を確認してみてください
1 Ashish Dec 15 2020 at 14:10
w3schoolsで正しく読んだら。Alertは文字列をパラメータとして受け取り、メニューはそのオブジェクトの文字列ではないため、メニューを表示する代わりにメニューのタイプを表示します
あなたはこのようなことをすることができます:
alert(JSON.stringify(menu));