2017-05-13 11 views

Répondre

1

C'est une chose peu probable de le faire, et je ne pense pas que vous serez en mesure de tout pleinement mimétique vous pouvez voir l'expansion des choses à l'intérieur de la console - l'une des raisons est une «structure circulaire» de fenêtre. Pourtant, il peut être fait dans une certaine mesure en clonant l'objet fenêtre avec quelques ajustements - this pourrait être un bon point de départ.

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))