Avatar billede kragekjaer Praktikant
04. august 2006 - 18:51 Der er 4 kommentarer og
1 løsning

slette alle variable

Findes der en metode til at slette alle variable, også _global?
Evt. noget med typeOf=="variabel"....
Avatar billede maqhem Nybegynder
04. august 2006 - 19:07 #1
Okay, måske snakker vi om en omvej, men denne hér kan du sætte ind:

// Almindelige koder.
// Vil du sætte en variabel, skal du gøre som nedenstående:
setNyVariabel('vara', 'hej1');
setNyVariabel('varb', 'hej2');
setNyVariabel('varc', 'hej3');

// Denne linie sletter alle variabler, du har sat med funktionen:
sletVariabler();

// Nedenstående skal inkluderes, så virker skidtet:
var vars:Array = new Array();
function setNyVariabel(variabelNavn:String, vaerdi):Void {
    this[variabelNavn] = vaerdi;
    vars.push(variabelNavn);
}
function sletVariabler():Void {
    for(var i:Number = 0; i < vars.length; i++) {
        delete this[vars[i]];
    }
}
trace(vara);
trace(varb);
trace(varc);

Prøv dig lidt frem med det :)
Håber, du kan bruge det til noget!
Avatar billede maqhem Nybegynder
04. august 2006 - 19:11 #2
Skal lige siges, at de sidste 3 linier jo ikke er nødvendige, da de vare tracer værdierne af variablerne som en test.
Mit script skulle måske have set sådan hér ud for overskueligheden:

// Almindelige koder.
// Vil du sætte en variabel, skal du gøre som nedenstående:
setNyVariabel('vara', 'hej1');
setNyVariabel('varb', 'hej2');
setNyVariabel('varc', 'hej3');

// Tracer værdierne af variablerne:
trace(vara);
trace(varb);
trace(varc);

// Denne linie sletter alle variabler, du har sat med funktionen:
sletVariabler();

// Nu traces der så igen, for at se, om der skete noget:
trace(vara);
trace(varb);
trace(varc);

// Nedenstående skal inkluderes, så virker skidtet:
var vars:Array = new Array();
function setNyVariabel(variabelNavn:String, vaerdi):Void {
    this[variabelNavn] = vaerdi;
    vars.push(variabelNavn);
}
function sletVariabler():Void {
    for(var i:Number = 0; i < vars.length; i++) {
        delete this[vars[i]];
    }
}
Avatar billede maqhem Nybegynder
04. august 2006 - 19:13 #3
Hvad? Det duer ikke, jeg beklager!
Jeg finder straks ud af, hvorfor...!
Avatar billede kragekjaer Praktikant
04. august 2006 - 19:21 #4
molbometode du foreslår, men tak anyway

Se her:
// PurgeVars Proto - Delete All Numerical or String vars on a timeline
// By Jesse Stratford, www.actionscripts.org
MovieClip.prototype.purgeVars = function () {
    for (var name in this) {
        if (name != "$version") {
            var isString = typeof (this[name]) == "string";
            var isNumber = typeof (this[name]) == "number";
            if (isString or isNumber) {
                trace ("Deleted a var named " + name);
                delete this[name];
            }
        }
    }
};
string = "ads";
num = 123;
_root.purgeVars();
Avatar billede maqhem Nybegynder
04. august 2006 - 19:33 #5
Okay!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester