Grazie Kentaro!Originariamente inviato da kentaromiura
non ho controllato, ma velocemente basta fare cosi:
codice:var that=this; xmlHttp.onreadystatechange = function() { // qui perdo il riferimento document.getElementById('requestStatus').innerHTML = "Request status = " + xmlHttp.readyState; if (xmlHttp.readyState == 4) { document.getElementById('xmlHttpStatus').innerHTML = "HTTP status = " + xmlHttp.status; el.innerHTML += that.XMLparse(xmlHttp.responseText); } }
Sapendo che nella OOP JS il riferimento a volte viene perso, avevo fatto la stessa cosa:
var self = this;
però sbagliavo perché passavo "self" come parametro della funzione a runtime, senza notare che lì dentro, le variabili del metodo che la richiama hanno visibilità.
Puoi dirmi quali sono i casi in cui il riferimento viene perso? (Ovvero il funzionamento dello scope per i parametri delle classi) magari indicandomi delle risorse utili.
Mi sono riletto per l'ennesima volta tutto il thread derivante dalla pillola di andr3a su JS OOP
http://forum.html.it/forum/showthrea...readid=1014613
ma non si definiscono in modo chiaro le scope rules, per capire tutte le probabili casistiche di visibilità.
Sto cercando in rete ma su JS OOP si trova ancora poca documentazione generica che non sia mirata ad un prodotto specifico, tipo libraries, frameworks etc.