Das "new" versuche ich zu umgehen
Sonderlich geholfen hat dir der Verzicht auf Konstruktoren bei der Organisation deines Codes anscheinend nicht.
und notiere deshalb das Objekt als Literal (wie von Crockford empfohlen). Da klappt das mit dem that = this; nicht ...;
Das Prinzip sind Closures, dazu brauchst du nicht this, sondern einfach eine Referenz auf das Objekt.
function makeFoo () {
var foo = {
func: function () {
alert(foo);
}
};
return foo;
}
setTimeout(makeFoo().func, 1);
Mathias