molily: Globale variable?

Beitrag lesen

xmlhttp1.onreadystatechange = function() {

handleResponseStatus(id);
};

  
Hier wendest du doch schon ein Pattern an, was man bei setTimeout ebenfalls verwenden kann.  
  

> Dann könntest Du in der Funktion "handleResponseStatus()" einfach  
>   
> `setTimeout('getStatus(' + [ref:self812;javascript/objekte/function.htm#arguments@title=arguments][0] + ')', 5000);`{:.language-javascript}  
>   
> bzw.  
>   
> ~~~javascript

setTimeout(function() {  

>   getStatus([ref:self812;javascript/objekte/function.htm#arguments@title=arguments][0]);  
> }, 5000);

Diese Beispiele sind nicht äquivalent. Die verschachtelte Funktion erbt nicht das arguments-Objekt der darüberliegenden, sondern hat ein eigenes. Und die verschachtelte Funktion bekommt keine Parameter, es sei denn, setTimeout bekommt weitere Parameter.

Die verschachtelte Funktion ist allerdings eine Closure und hat damit Zugriff auf die normalen Variablen der darüberliegenden Funktion. Daher ist ein einfaches setTimeout(function () { getStatus(id); }, 1000); möglich, wie Don P sagt.

Mathias