Why does my setTimeout function return “window” instead of my object’s name property?
<pre><code>function Person(name) {
this.name = name;
}

Person.prototype.showName = function() {
alert(this.name);
}


var mike = new Person("mike");
mike.showName();  


window.name = "window"; 
setTimeout(mike.showName, 5000);  
</code></pre>

<p>When </p>

<pre><code>setTimeout(mike.showName, 5000)
</code></pre>

<p>is executed, why is the result "window"? Thanks.</p>
