setTimeout scope issue
<p>I have a setTimeout defined inside of a function that controls the player's respawn (i am creating a game):</p>

<pre><code>var player = {
    ...
    death:(function() {
        this.alive = false;
        Console.log("death!");
        var timer3 = setTimeout((function() {
            this.alive = true;
            Console.log("alive!");
        }),3000);
    }),
    ...
}
</code></pre>

<p>When it executes, I read in the console, "death!" and 3 seconds later "alive!". However, <code>alive</code> is never really set back to true, because if i write <code>player.alive</code> in the console, it returns <code>false</code>. How come i can see "alive!" but the variable is never set back to true?</p>
