Hallo,
function Klasse() {
this.tueWas();
var instanz = this;
window.setTimeout(function() {
instanz.tueWas();
}, 1000);
}
Die Variable "instanz" hast Du aber in dem Moment nicht mehr, wo Du den window.setTimeout verlässt. Da window-setTimeout ja event gesteuert ist und nicht wie ein "sleep" oder "wait" arbeitet (also nicht wirklich die Prozessausführung anhält), wird nach dem window.setTimeout die Funktion Klasse verlassen. Der Stack wird abgeräumt, nach einer Sekunde triggert der Eventhandler, will "instanz.tueWas()" aufrufen, was nicht mehr geht, weil das Objekt instanz nicht mehr existiert.
"instanz" müsste folglicch global sein, womit wir aber wieder die störende Abhängigkeit haben, die Du angesprochen hast.
Grüße,
Jörg