"Lars Rasmussen" <groups@dreamfabric.dk> writes:
> Begynder spørgsmål;
>
> Hvordan erklærer man en static variable i javascript ?
Prøv at spørge i dk.edb.internet.webdesign.clientside, hvor Javascript
behandles. Javascript er ikke relateret til Java, så det passer ikke
her i dk.edb.programmering.java.
Jeg skrydsposter til d.e.i.w.clientside og sætter followup dertil.
> Fra html kalder jeg en funktion; doAd(), denne funktion sampler en ad
> konverter og lægger resultatet i et array. Jeg har oprettet en 'pegepind'
> til lagerpositionen i arrayet. 'Pegepinden' opdateres inden der returneres.
>
> Ved næste sample ville det være rart om både array og pegepind har bevaret
> deres værdi
>
> Hvordan opnåes dette ?
Nemmest med et par globale variable.
Hvis du vil sørge for at variablene er lokale for din funktion og ikke kan
ses og ødelægges af andre, så kan du gøre det ved at definere funktionen
i et scope hvor variablene findes:
function makeDoAd() {
var array, pegepind;
function doAd() {
// gør hvad doAd gør, brug array og pegepind
};
return doAd;
}
var doAd = makeDoAd();
Altså lav en funktion (udelukkende for at få et lokalt scope at erklære
variable i), og definer doAd i det scope. Herefter kan doAd se disse
variable. Returner så doAd selv og brug den som global funktion.
Eller, lidt kortere, og meget mindre læsbart, hvis man er til den slags:
var doAd = (function(array, pegepind) {
return function doAd() {
// gør hvad doAd gør
};})();
Held og lykke.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'