Originariamente inviato da andr3a
questo caso NON esiste, this è smpre esattamente riferito a quello che ci si aspetta e nel tuo caso doppia confusione, visto che ti aspetti quel this dentro un metodo chiamato in modo asincrono di un altro oggetto.


http://www.3site.eu/doc/



il this, ed a cosa si riferisce, credevo fosse abbastanza chiaro.
Il riferimento non viene mai perso, this è super object (aka window) se la funzione è chiamata senza scope o con null in apply/call, in tutti gli altri casi è l'oggetto di riferimento, ma essendo questo vero per ogni funzione, lo stesso ragionamento va fatto per ogni altrafunzione innestata.
Ciao Andrew
Grazie per le risorse che scrivi e per i tuoi consigli sempre preziosi!
Sì, ho fatto varie prove ed il this restituisce sempre l'oggetto di riferimento, che in quel caso è l'oggetto XMLHttpRequest di cui la funzione a runtime è un metodo.

Quindi ho capito che quando scrivevi nella pillola "il riferimento va sempre passato nelle funzioni annidate" intendevi il riferimento alla classe a cui appartengono i metodi per le funzioni a loro volta annidate in essi.
Leggerò ache Javascript Prototypal Inheritance.

Per quanto riguarda la perdita del riferimento nel caso di attachEvent (e setTimeout/setInterval), finora non mi è capitato di usarlo in un contesto OOP (ma prima o poi mi servirà), e stavo leggendo questo articolo su Quirksmode sul principio di base e la compatibilità.