Variabele in functie in JavaScript
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<script type="text/javascript">
for (var i = 1; i <= 1000; i+=20)
{
setTimeout("showData(i, 1000)", 3000);
}
</script>
for (var i = 1; i <= 1000; i+=20)
{
setTimeout("showData(i, 1000)", 3000);
}
</script>
Deze 'for loop' loopt niet en blijft hangen op de variabele i...
Klopt het niet?
Gewijzigd op 27/11/2010 20:22:02 door Harry Hartman
- SanThe - op 27/11/2010 20:48:18:
Wat is er mis met je oude topic?
http://www.phphulp.nl/php/forum/topic/javascript-loop-in-php/74521/
http://www.phphulp.nl/php/forum/topic/javascript-loop-in-php/74521/
Aangezien daar geen passende oplossing of tip wordt geschreven, waarschijnlijk niet begrepen door de titel of zo...???
Gewijzigd op 27/11/2010 21:28:01 door Harry Hartman
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<script type="text/javascript">
for (var i = 1; i <= 1000; i+=20)
{
document.write(i+"<br>");
}
</script>
for (var i = 1; i <= 1000; i+=20)
{
document.write(i+"<br>");
}
</script>
Ik denk dat het probleem in je functie zit, of dat je "i" op 0 moet zetten.
De oplossing heb ik gevonden door stug door te googlen:
moet worden:
Chris Horeweg op 29/11/2010 16:52:20:
Oh, is dat het... nou, weer wat geleerd! Bedankt voor de tip!
Idioot extreem voorbeeld van de kracht van closures (kort door de bocht: variabelen uit de bovenliggende functies kunnen gebruiken in je functie)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function leeftijd(x) {
return function(jaar) {
return x.geboortejaar - jaar.
}
}
var jelmer = {
naam: 'jelmer',
geboortejaar: 1920
}
var leeftijdOp = leeftijd(jelmer);
print(leeftijdOp(2010));
jelmer.geboortejaar = 1960;
print(leeftijdOp(2010)); // en tada, gewoon aangepast op basis van m'n andere geboortejaar.
return function(jaar) {
return x.geboortejaar - jaar.
}
}
var jelmer = {
naam: 'jelmer',
geboortejaar: 1920
}
var leeftijdOp = leeftijd(jelmer);
print(leeftijdOp(2010));
jelmer.geboortejaar = 1960;
print(leeftijdOp(2010)); // en tada, gewoon aangepast op basis van m'n andere geboortejaar.
En een parktisch voorbeeld:
OK, bedankt voor deze duidelijke uitleg met codes Jelmer... Top!