hallo, ich habe ein großes objekt bso, dass u.a. die objekte vars und functions enthält.
hier sieht man die Funktion bso.functions.createElement. Gibt in der Schleife werden Die Namen der Unterobjekte verändert. In bso.vars.shortcuts stehen alle diese shortcuts und deren längere Entsprechungen. Das objekt obj wurde am Anfang der Funktion übergeben.
Die alerts am anfang und am ende des codes geben nun ein völlig anderes objekt aus, das dazu eigentlich unabhängig ist, nämlich bso.vars.winObjects.normal, außer dass es gleich obj ist. Auf jeden Fall benutzt bso.vars.winObjects.normal auch diese shortcuts. Anstatt aber die shortcuts aus obj zu verändern, werden die shortcuts von bso.vars.winObjects.normal verändert. Hat Firefox damit ein Referenzierungsproblem(und Safari)? Oder hab ich irgendeinen Fehler gemacht?
mfg omoxen
Code:
alert(bso.functions.json(bso.vars.winObjects.normal));
for (i in obj) {
for (j in bso.vars.shortcuts) {
if (i == j) {
eval("obj." + bso.vars.shortcuts[j] + " = obj[i]");
delete obj[i];
}
}
}
alert(bso.functions.json(bso.vars.winObjects.normal));
hier sieht man die Funktion bso.functions.createElement. Gibt in der Schleife werden Die Namen der Unterobjekte verändert. In bso.vars.shortcuts stehen alle diese shortcuts und deren längere Entsprechungen. Das objekt obj wurde am Anfang der Funktion übergeben.
Die alerts am anfang und am ende des codes geben nun ein völlig anderes objekt aus, das dazu eigentlich unabhängig ist, nämlich bso.vars.winObjects.normal, außer dass es gleich obj ist. Auf jeden Fall benutzt bso.vars.winObjects.normal auch diese shortcuts. Anstatt aber die shortcuts aus obj zu verändern, werden die shortcuts von bso.vars.winObjects.normal verändert. Hat Firefox damit ein Referenzierungsproblem(und Safari)? Oder hab ich irgendeinen Fehler gemacht?
mfg omoxen