【问题标题】:Difference between console.log and alert in javascriptjavascript中console.log和alert的区别
【发布时间】:2020-12-15 07:07:13
【问题描述】:
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)

我遇到了这个问题。

所以在代码的最后 当我做警报(菜单)时; 我得到 [object Object]。

但是当我这样做时 控制台日志(菜单); 我得到{宽度:400,高度:600,标题:'我的菜单'}。这就是我想要的。 那么造成这种差异的原因是什么?

【问题讨论】:

标签: javascript


【解决方案1】:

那是因为menu 本身就是一个对象。

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

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

【讨论】:

    【解决方案2】:

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

    你可以这样做:

    alert(JSON.stringify(menu));
    

    【讨论】:

      猜你喜欢
      • 2016-06-11
      • 2017-06-26
      • 2020-02-03
      • 2021-09-07
      • 2014-03-19
      • 1970-01-01
      • 2023-03-22
      • 2011-06-25
      • 2017-06-07
      相关资源
      最近更新 更多