Hi!
Aus folgendem Code sollte mein Problem hervorgehen:
Code:
blub = new test();
function test()
{
this.innerfunc = function(id)
{
...
setTimeout('this.innerfunc('+id+')', 1000);
}
}
Ich würde gerne nach einer gewissen Zeit mit setTimeout die Funktion innerfunc des Objekts blub nochmal aufrufen. Normalerweise geschieht sowas von ausserhalb ja mit z.B. blub.innerfunc(3); Allerdings weiß die Funktion innerfunc selbst nicht, wie der Zeiger auf das Objekt, in dem sie sich befindet (
blub), heißt. Wie kann ich diese funktion nochmal mit diesem Objekt aufrufen? Muss ich dazu dem Objekt dessen Namen per Hand übergeben damit innerfunc es beim setTimeout in den string einbauen kann oder kann man irgendwie direkt auf das objekt referenzieren? Vielleicht mit einer closured function?
Wieso hat damals niemand an eine funktion wie sleep(1000); gedacht? dann könnte man das einfach in eine while-schleife packen...
lg PoWl