【问题标题】:How to get the real console.log formatted output如何获得真正的 console.log 格式输出
【发布时间】:2021-11-29 01:15:32
【问题描述】:

我尝试了这里建议的解决方案How to get the console.log content as string in JavaScript

问题是它缺少完整的格式化输出:它给出了 a, b, c 而我想得到 ["a", "b", "c"] 对于我的情况 https://jsfiddle.net/eywjn9o8/

var logBackup = console.log;
var logMessages = [];

console.log = function() {
    logMessages.push.apply(logMessages, arguments);
    logBackup.apply(console, arguments);
};

const object1 = {
  a: 'somestring',
  b: 42,
  c: false
};

console.log(Object.keys(object1));
alert(logMessages)

【问题讨论】:

  • 你正在警告数组,它会隐式调用toString()。当然不是你要找的。请改用logBackup(logMessages);,它会更接近实际的控制台输出。或使用alert(JSON.stringify(logMessages[0]))
  • @ChrisG 将其发布为答案?
  • @Cid 当然不是

标签: javascript


【解决方案1】:

Firefox 和 Google Chrome 现在有一个内置的JSON 对象,所以你可以直接说alert(JSON.stringify(logMessages))。这不是 Javascript 语言规范的一部分,因此您不应依赖所有浏览器中都存在的 JSON 对象,但出于调试目的,它非常有用。

Source

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-28
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多