SetTimeout Executing faster then assigned interval
<p>I have assigned 5000 ms to Settimeout but it is executing before assigned time interval.Can any body explain why it is happening.</p>

<pre><code>&lt;script type="text/javascript"&gt;
        var getcallback = {
            closure: function (callback, functionparam) {
                return callback.call(functionparam);
            }
        }
        var cleartimeout;
        var startSlideShow =  {
            timerid: 5000,
            startAnimation: function () {
                cleartimeout = setTimeout(getcallback.closure(function () {
                    alert("this is a basic example of chaining methods");
                    this.startAnimation();
                },this), this.timerid);
            },
            stopAnimation:function(){
            }
        }
        startSlideShow.startAnimation();

    &lt;/script&gt;
</code></pre>
