Hallo,
Ich möchte(muss) direkt publicMethod() aufrufen, das ist eine Vorgabe die ich habe, mein Javascriptcode muss gekapselt sein, und mittels publicMethod() (Name ist hier beispielhaft, ist aber fest vorgegeben).
Jetzt kommen wir der Sache näher! Du willst also gar kein Objekt zurückgeben, sondern bloß die Funktion, richtig?
Was ich brauche ist:
(function() {
[...]
return {
publicMethod: function() {
}
};}());
publicMethod();
Dann gib kein Objekt {…} zurück, sondern direkt das Funktionsobjekt:
~~~javascript
var generateID = (function() {
var counter = 0;
return function() {
return ++counter;
};
})();
alert(generateID());
alert(generateID());
alert(generateID());
alert(typeof counter); // undefined
Mathias