title: How to use setTimeout in constructor
body: <p>I have a constructor:</p>
  
  <pre><code>function Domino() {
  
  var self = this;
  this.myElement = $("#smth");
  
  this.rotation = 0;
  this.rotateFor = function (deg, scl) {
      this.rotation += deg;
      this.scale = scl;
      this.myElement.find(".domino-view").css({
          transform: "rotate(" + self.rotation + "deg)  scale(" + self.scale + ")"
      });
  };
  </code></pre>
  
  <p>I want to set timeout on <code>rotateFor</code>. I tried this:</p>
  
  <pre><code>this.rotateFor = function (deg, scl) {
      this.rotation += deg;
      this.scale = scl;
      this.myElement.find(".domino-view").css({
          transform: "rotate(" + self.rotation + "deg)  scale(" + self.scale + ")"
      });
  }
  this.start = function(){
  self.timeout = setTimeout(function(){this.rotateFor()}, 5000)
  </code></pre>
  
  <p>}</p>
  
  <p>Then I call it like this: <code>something.start()</code>, but it still does not work. How can I set timeout in this constructor?</p>