[megoldva] Flash programozás - function-ból "global" variable módosítás
Sziasztok!
Fennakadtam AS2.0-ban az alábbi dolgon. Abszolút egyszerű, csak én vagyok láma.
ÁPDÉT!!
// ELSŐ ESETBEN
quotes = new Array;
quotes['test'] = new Array;
quotes['test'][0] = 'alma';
function loadXML(loaded) {
trace('allapot 1: '+ quotes['test'][0]);
quotes['test'][0] = 'korte';
trace('allapot 2: '+ quotes['test'][0]);
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("foo.xml");
trace('allapot 3: '+ quotes['test'][0]);
Output 1:
allapot 3: alma
allapot 1: alma
allapot 2: korte
// MÁSODIK ESETBEN
quotes = new Array;
quotes['test'] = new Array;
quotes['test'][0] = 'alma';
function loadXML(loaded) {
trace('allapot 1: '+ quotes['test'][0]);
quotes['test'][0] = 'korte';
trace('allapot 2: '+ quotes['test'][0]);
}
xmlData = new XML();
xmlData.ignoreWhite = true;
loadXML(true); // <<<<<<<<<<<<<<<<< ITT NEM ONLOAD eventre teszem a functiont akkor
xmlData.load("foo.xml");
trace('allapot 3: '+ quotes['test'][0]);
Output 2:
allapot 1: alma
allapot 2: korte
allapot 3: korte
Kérdésem, miért? Miért viselkedik máshogy a variable különböző meghívásra. De ami lényegesebb, az ELSŐ esetben milyen módon tudom a function-on kívüli variable értékét megváltoztatni, de olvasni igen?
- Tovább ([megoldva] Flash programozás - function-ból "global" variable módosítás)
- 901 megtekintés