Letztendlich suche ich eine geeignete Form für eine gekapselte Schreibweise, wobei das eher darauf abzielt, eine Artvon Namespace zu haben, um damit die Skripte übersichtlicher zu organisieren.
Naja, Namespaces sind ja nicht dafür gedacht Skripte zu organisieren und übersichtlicher zu gestalten. Wobei man durch geeignete Objektierung und Kapselung schon die Übersicht erhöht.
Was ich sagen will, es reicht nicht um einen Codeteil einfach einen Block zu legen.
Dein 1. Beispiel macht so wie es ist nicht so viel Sinn. Die Memberfunktionen haben keinen Bezug zum Objekt.
Hier würde man auf jeden Fall die Anfrage schon dem Objekt zuordnen.
this.anfrage = function(){
return this.test1a() + this.test1b();
}
Wenn test1a() und test1b() nicht sichtbar sein sollen, der Objektbezug aber auch nicht benötigt wird, kannst du die auch als lokale Funktionen im Konstruktor anlegen.
function test1() {
function test1a() {
return "a";
}
function test1b() {
return "b";
}
this.anfrage = function(){
return test1a() + test1b();
}
}
Dann benötigst du hier aber wieder die Kapselfunktion nicht, es ist ja alles schon gekapselt.
Dann kannst du aber mehrere Instanzen von test1 anlegen. Willst du das nicht, kannst du es so machen wie in deinem 2. Beispiel.