Generelt kan man opsøge problemer, når man sætter parametre på funktioner som kaldes med setTimeout, så jeg forsøger altid selv at have parametre til rådighed som globale variable:
Som grunken er inde på:
<script osv ...> var text="";
function showText(){
if(
text='Ny text';setTimeout('showText()',100)
-- jeg er dog herinde blevet belært om, at man kan bruge følgende shortcut:
Nej, mit er et hack. Indeholder din Text-variabel en strof (') går det jo galt. Det vil det ikke med en global variabel. Det var mere for at du kunne se og forstå hvorfor.
Man kan dog også argumentere for og imod, om en global variabel ikke kan være lige så skadelig; specielt hvis vi taler større scripts, som skal bruges af andre personer med mindre JavaScript-erfaring end en selv.
Personligt holder jeg mig fra globale variabler, hvis det er muligt. :)
-- jeg forstår godt argumentet med at lægge data flydende i ens kode, men findes der en effektiv metode til at bibeholde værdier bør den da bruges ...
-- og umiddelbart kom jeg til at tænke på den første 'succes' jeg havde med javascript (før jeg egentlig havde lært det !-), nemlig at overføre alle links-værdier til et parent-frameset, så de kunne findes efter en reload af framen -- en simpel men enormt effektiv udnyttelse af globale variable ...
-- klart nok er det i det miljø man arbejder med i en browser ikke hensigtsmæssigt at gå ud fra, at det er den samme verden som findes bare efter 3 sekunder, men det som sker indenfor en sides rammer kan man vel nogenlunde trygt fortsætte ...
Synes godt om
Slettet bruger
23. juli 2003 - 11:52#11
roenving>> Helt sikkert. Så længe man udelukkende selv skal bruge det, og har en god sans for overblik, kan det ikke skade! :)
Synes godt om
Ny brugerNybegynder
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.