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
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/
- 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
Eenvoudig te testen:
Ik denk dat het probleem in je functie zit, of dat je "i" op 0 moet zetten.
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.
OK, dank je wel.
De oplossing heb ik gevonden door stug door te googlen:
moet worden:
De oplossing heb ik gevonden door stug door te googlen:
moet worden:
De i is een variabele, en die moet je dus buiten de quotes houden.
zal dus ook werken :-)
zal dus ook werken :-)
Chris Horeweg op 29/11/2010 16:52:20:
Oh, is dat het... nou, weer wat geleerd! Bedankt voor de tip!
Je eigen oplossing was mooier. Nu maak je binnen je code weer een string die javascript dan weer moet uit elkaar pluizen en compileren tot code voordat het die uit kan voeren.
Idioot extreem voorbeeld van de kracht van closures (kort door de bocht: variabelen uit de bovenliggende functies kunnen gebruiken in je functie)
En een parktisch voorbeeld:
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!




