javascript - 在窗口中将循环结构转换为JSON

标签 javascript json console.log

<分区>

我试图在控制台中显示窗口的所有元素。我尝试使用 console.log(window) 但它没有自动扩展。 本帖Is there a way to auto expand objects in Chrome Dev Tools?建议我使用 JSON.stringify 但我收到以下错误:

enter image description here

最佳答案

这是不太可能发生的事情,而且我认为您无法完全模仿您在控制台中看到的所有扩展内容 - 原因之一是 window< 的“循环结构”/em>。不过,它可以在某种程度上通过克隆窗口对象并进行一些调整来完成 - this可能是一个很好的起点。

var maxDepth = 10;
function cloneObject(obj,depth) {
  if (!depth) depth = 1;
    var clone = {};
    for (var i in obj) {
        if (typeof(obj[i])=="object" && obj[i] != null) {
          try {
            if (obj[i].wowImCloned) clone[i] = '[I\'ve seen you somewhere..]';
            else if (depth >= maxDepth) clone[i]  = '[I\'m not going deeper]'
            else {
              obj[i].wowImCloned = true;
              clone[i] = cloneObject(obj[i],depth+1);
            }
          } catch(err) clone[i] = err.message;

        }
      else if (typeof(obj[i])=="function") clone[i]  = obj[i].toString()
      else clone[i] = obj[i];   
    }
    return clone;
}
var clone = cloneObject(window)
//console.log(JSON.stringify(clone))

关于javascript - 在窗口中将循环结构转换为JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43952103/

相关文章:

javascript - console.log() 和 console.debug() 的区别?

javascript - HTML 选择的 onClick 事件

php - 如何通过 OAuth 登录以便 cron 作业可以运行

arrays - 如何将字典数组存储到类变量中?

javascript - window.console.log 和 console.log 有什么区别

javascript - 在 Firefox 开发者工具中看到错误的 JavaScript 堆栈跟踪(就像在 Chrome 中一样)

javascript - React-输入字段在onChange后变成字符串

javascript - 有谁知道您实际上是如何更新 safari 内容拦截器的 blockerList.json 文件的?

javascript - NetSuite - 订单项循环问题

json - JSON 字符串中的控制字符