繁体   English   中英

javascript 中的 console.log 和 alert 的区别

[英]Difference between console.log and alert in 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)

我遇到了这个问题。

所以当我做警报(菜单)时,在代码的末尾; 我得到[对象对象]。

但是当我做 console.log(menu); 我得到{宽度:400,高度:600,标题:'我的菜单'}。 这就是我想要的。 那么造成这种差异的原因是什么?

那是因为menu本身是 Object。

当我们使用警报时,会打开一个带有给定消息的弹出框,该消息需要一个字符串。 当使用 Object 通过时,您将获得[object Object]

尝试alert(JSON.stringify(menu))来查看完整的字符串化 output

如果您在w3schools上正确阅读。 警报将字符串作为参数,您的菜单不是字符串,它是 object,因此它不显示菜单,而是显示菜单的类型

你可以这样做:

alert(JSON.stringify(menu));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM