hallo horst,
das problem ist vermutlich, dass setTimeout das kommando in deinem fall "this.methode()" auf der topscript-ebene aufruft.
wie wenn du ausserhalb der funktion "this.methode()" aufrufen würdest.
das gleiche gilt übrigens auch für eval().
der kommandoteil wird also nochmals durch den interpreter geschickt.
auch wenn du deinen aufruf in der funktion definierst ist die ausführung nicht rekursiv.
es kommt überhaupt nicht darauf an wo du setTimeout bzw. eval notierst.
die ausführungsumgebung ist immer das toplevel-script. leider ;-(
du musst also mit globalen variablen arbeiten.
gruss lenaluna