webForumDet fria alternativet

NS/Mozilla bugg?

4 svar · 202 visningar · startad av Darren

DarrenMedlem sedan dec. 2002741 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 484 inlägg
#2

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

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

:)

DarrenMedlem sedan dec. 2002741 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 484 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. 2002741 inlägg
#5

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

Genererad på 374 ms · cache AV · v20260730165559-full.f96bc7eb