webForumDet fria alternativet

NS/Mozilla bugg?

4 svar · 202 visningar · startad av Darren

DarrenMedlem sedan dec. 2002789 inlägg
#1

Ett litet problem med document.write funktionen under nämnda webbläsare... Kan någon testa koden nedan och se hur långt tid det tar innan sidan visas helt. Det scriptet skall göra är att skriva 100 rader med text...

Hos mig så skriver NS/Mozilla första raden och sedan är det stopp (IE fungerar utmärkt). Har även låtit NS och Mozilla vara igång under 1 timma och det var fortfarande bara första raden som visades.

<html>
<head>
<title>NS/Mozilla test...</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/javascript">
    function testFunc(){
        for (a = 1; a <= 100; a++){
            document.write("Bara ett litet test för NS/Mozilla... :" + a + "<br/>");	
    }
}
</script>
</head>

<body onload="testFunc()">
</body>
</html>
Peter SMedlem sedan dec. 20025 483 inlägg
#2

Pröva med att deklarera variabeln "a" explicit:

...
for([B]var[/B] a = 1...)
...

:)

DarrenMedlem sedan dec. 2002789 inlägg
#3

Tack Peter. Fungerar som det skall nu.

Trodde inte man var tvungen att deklarera variabler som används i for-loopar... Egentligen så deklareras den iom a = 1.

Kan du förklara lite mer om detta?

Peter SMedlem sedan dec. 20025 483 inlägg
#4

Om du inte deklarerar en variabel explicit med nyckelordet var, kommer denna att deklareras implicit; och variabler som deklareras implicit blir automatiskt globala.

I detta fallet är alltså variablen "a" en global variabel och är på så sätt inte en del av for-loopen. För att en variabel skall vara en del av loop-syntaxen behöver den alltså deklareras explicit.

:)

DarrenMedlem sedan dec. 2002789 inlägg
#5

Okidoki... Då vet jag det för nästa gång. :)

133 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
131 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)