title: Log : Uncaught RangeError: Maximum call stack size exceeded
body: <p>I have a serious problem about a method. So this is my method : </p>
  
  <pre><code>Object.prototype.clonage = function() {
    var newObj = (this instanceof Array) ? [] : {};
    for (i in this) {
      if (i == 'clone') continue;
      if (this[i] &amp;&amp; typeof this[i] == "object") {
        newObj[i] = this[i].clonage();
      } else newObj[i] = this[i]
    } return newObj;
  }
  </code></pre>
  
  <p>And the browser is giving me: </p>
  
  <blockquote>
    <p>Uncaught RangeError: Maximum call stack size exceeded </p>
  </blockquote>
  
  <p>At the line:</p>
  
  <pre><code>for (i in this) {
  </code></pre>
  
  <p>Can someone has the same problem?</p>