Tendrías que investigar un poco sobre los métodos call y apply. Pero básicamente, lo que hace call es ejecutar una función dada como método del objeto que se le pasa como primer argumento (el resto de los argumentos funcionarán como argumentos de ese método), y es por eso que this tiene el sentido que se espera dentro de la función.
apply es casi igual, sólo que usa sólo un segundo argumento, que es un array con los argumentos que usará el método.
Más info:
http://www.librosweb.es/ajax/capitul...s_apply_y_call