title: setTimeout() problems on IE 9
body: <p>I have a simple js structure like this :</p>
  
  <pre><code>var Waiting = (function () {
  
      function Waiting() {
          this.timer;
      }
  
      Waiting.prototype.show = function () {
          var self = this;
  
          clearTimeout( self.timer );
          self.timer = setTimeout( function(){ self.hideLogo(); },3000);
      }
  
       Waiting.prototype.hideLogo = function () {
           console.log("ok i passed timeout");
       };
  
       return Waiting;
  })();
  </code></pre>
  
  <p>As expected, I get the "ok i passed timeout" log on every browser the first time I execute the show function (which called the hideLogo one). The problem appears in IE9 when I called for the second time the show function. This time, the hideLogo function is never called (log never appears in IE console). I tried a lot of things without any success.</p>
  
  <p>If anyone as an idea...</p>