title: JSON.stringify(value , replacer) different results in Chrome and FF
body: <p>i'm having next trouble, trying to use JSON.stringify with "replacer".</p>
  
  <pre><code>var scriptTag = document.createElement('script');
          scriptTag.type = 'text/javascript';
          scriptTag.src = 'https://wicked-good-xpath.googlecode.com/files/wgxpath.install.js';
          document.body.appendChild(scriptTag);
  
  
  function censor(censor) {
    var i = 0;
  
    return function(key, value) {
  
  console.log(i,typeof(censor),'=====',typeof(value), value);    
      if(i !== 0 &amp;&amp; /*typeof(censor) === 'object' &amp;&amp; typeof(value) == 'object' &amp;&amp; */ censor == value) 
        return null; 
  console.log(i,typeof(censor),'=====',typeof(value), value); 
      if(i &gt;= 29) // seems to be a harded maximum of 30 serialized objects?
        return null;
  console.log(i,typeof(censor),'=====',typeof(value), value); 
      ++i; // so we know we aren't using the original object anymore
  
      return value;  
    };
  }
  
  XPathResult = document.evaluate('**&lt;SOME XPATH HERE&gt;**', document, null, XPathResult.ANY_TYPE, null);
  var actualNode = XPathResult.iterateNext();
                      var result = [];
                      while (actualNode) {
                          result.push(jQuery.makeArray(actualNode));
                          actualNode = XPathResult.iterateNext();
                      }
  console.log(result);                
  console.log("Result: ", JSON.stringify(result, censor(result)));
  </code></pre>
  
  <p>or <a href="http://pastebin.com/6WGfgP6K" rel="nofollow noreferrer">pastebin</a></p>
  
  <p>The problem is that in DevTools and Firebug the 'JSON.stringify(result, censor(result)));' is different - </p>
  
  <p><em>Chrome output:</em></p>
  
  <pre><code>console output of **30** objects
  
  Result:  [[{"width":"","vAlign":"","scope":"col","rowSpan":1,"noWrap":false,"height":"","headers":"","colSpan":1,"chOff":"","ch":"","bgColor":"","axis":"","align":"","abbr":"","cellIndex":4,"spellcheck":true,"isContentEditable":false,"contentEditable":"inherit","children":{"length":0},"outerText":"PUBLICATION DATE","outerHTML":"&lt;th scope=\"col\" class=\"sortDesc byPublicationDate\" style=\"cursor: pointer;\"&gt;PUBLICATION DATE&lt;/th&gt;","innerText":"PUBLICATION DATE","innerHTML":"PUBLICATION DATE","accessKey":"","hidden":false,"webkitdropzone":null,"draggable":null,"tabIndex":null,"dir":null,"translate":null,"lang":null,"title":null,"id":null,"webkitShadowRoot":null,"webkitPseudo":null,"childElementCount":null,"nextElementSibling":null,"previousElementSibling":null,"lastElementChild":null,"firstElementChild":null,"dataset":null,"classList":null,"className":null,"scrollHeight":null,"scrollWidth":null,"scrollTop":null,"scrollLeft":null,"clientHeight":null,"clientWidth":null,"clientTop":null,"clientLeft":null,"offsetParent":null,"offsetHeight":null,"offsetWidth":null,"offsetTop":null,"offsetLeft":null,"style":null,"tagName":null,"parentElement":null,"textContent":null,"baseURI":null,"localName":null,"prefix":null,"namespaceURI":null,"ownerDocument":null,"attributes":null,"nextSibling":null,"previousSibling":null,"lastChild":null,"firstChild":null,"childNodes":null,"parentNode":null,"nodeType":null,"nodeValue":null,"nodeName":null,"jQuery17109208346924278885":null}]]
  </code></pre>
  
  <p><em>and FF output:</em></p>
  
  <pre><code>*console output of **3** objects
  
  Result: 
  [[{"jQuery171005647180282625541":13}]]*
  </code></pre>
  
  <p>could someone explain me, why it works different in these browsers and how could I modify it so it will work in FF same as is GH?
  BTW - 'result' itself is the same in both browsers.</p>
  
  <p>P.S. I used <a href="https://stackoverflow.com/questions/4816099/chrome-sendrequest-error-typeerror-converting-circular-structure-to-json">that question</a> for censor() creating</p>