(Spoilers: this == window, not what is left of the function call)
@getify explains it flawlessly, there are 4 modes: new, obj., bind/apply/call and default (window or error in strict mode)
Looking at a possible implementation of setTimeout makes it clearer:
function setTimeout(func, delay) { // wait for the delay to complete.. func(); }
@getify explains it flawlessly, there are 4 modes: new, obj., bind/apply/call and default (window or error in strict mode)