Linuchs: Gültigkeit JS-Variable global?

Beitrag lesen

Moin,

ich habe fast zwei Stunden nach einem Fehler gesucht, weil die Variable einer .js Datei in einer anderen .js Datei nicht erkannt wird.

<script src="css/standard.js"></script><script src="css/reportIframeHeight.js"></script>

standard.js:

var requestObj;
function makeRequestObject( requestName ) {
  …
  requestObj = new XMLHttpRequest();
}

reportIframeHeight.js:

function reportIframeHeight( HOST, gif_name ) {
  // requestObj erzeugen, falls noch nicht vorhanden
  if ( typeof requestObj != "object" ) {
    makeRequestObject( "reportIframeHeight.js" ); // standard.js erzeugt var requestObj;
  }
  // überprüfen, ob requestObj erzeugt wurde
  if ( typeof requestObj != "object" ) {
    alert("css/reportIframeHeight.js: XMLHTTP-Instanz var requestObj wurde nicht erzeugt");
  }
}

Obwohl (mit alert ausgegeben) requestObj in Datei A erzeugt wurde, ist es in Datei B nicht bekannt. Warum?

Ich habe den Fehler umgangen, mit return requestObj; und var requestObj = makeRequestObject(), aber warum kann ich die "globale" Variable nicht ansprechen?

Linuchs