2017-01-15 2 views
0

Ich habe Probleme mit dem Umfang, ich kannte die Lösung, aber das ist nicht das Problem.
Ich möchte wissen, warum die Elementvariable xhrObj aus einer anderen Elementfunktion nicht lesbar ist, obwohl diese Variable globale Variable für diese Elementfunktion ist?Ich kann eine Elementvariable nicht innerhalb einer anderen Elementfunktion lesen

+0

Dies liegt daran, dass der Wert von 'this 'von der Art des Aufrufs der enthaltenden Funktion abhängig ist. – Pointy

+0

'onreadystatechange' ist bereits eine Mitgliedsfunktion von' xhrObj'. Dies bedeutet, dass Sie mit 'this.xhrObj.readystate' versuchen, auf 'xhrObj' ON' xhrObj' zuzugreifen. Sie könnten versuchen, 'this.xhrObj.readyState' durch' this.readyState' und 'this.xhrObj.responseText' durch' this.responseText' in 'this.xhrObj.onreadystatechange' zu ​​ersetzen. –

+0

@ JeffreyWesterkamp: Du hast Recht, ich habe es vergessen. Danke. –

Antwort

1

Es geschieht, weil xhrObj Funktion onreadystatechage asynchrous in der Natur ist, und wenn es nach vollständiger zurückrufen this Kontext unterscheidet sich innerhalb der onreadystatechage() und damit this.xhrObj nicht anders.

Verwandte Themen