Normalerweise sollte es doch vereinfacht so funktionieren.... nochmal vereinfacht woran es hapert:
nein, das funktioniert nicht.
function Object()
Das Objekt existiert schon, ich glaub nicht das man das überschreiben kann.
{
var data=5;
this.moredata=6;
var f1;
var f2 = new function()
Wieso new?
Du erzeugst hier ein neues Objekt, das ist etwas anderes, als eine anonyme Funktion.
{
f1 = new function() //f1 dynamisch erzeugen
Wenn du eine Funktion dynamisch erzeugen willst, meinst du evtl. new Function() (JS ist case sensitive).
{
alert( data ); //gibt "undefined"
Dann machst du schon etwas bei der Deklaration falsch, hier wird bei mir 5 ausgegeben.
alert( this.moredata ); //erzeugt Fehler "this.moredata has no properties"
und hier undefined.
Any ideas? Vermutlich stell ich mich grad äußerst dämlich an, aber ich denke nach zwei Tagen an diesem Problem fehlt mir langsam die Objektivität.
Du solltest dir noch mal die Seite die wahsaga verlinkt hat anschauen, dort wird beschrieben wie es richtig geht, bei dir ist der ansatz nicht korrekt. OOP in JS ist etwas seltsam und nciht ganz einfach.
Struppi.
Javascript ist toll (Perl auch!)