i++; giver 6 første gang og 7 næste. i+1; giver 6 første gang og 6 næste. Du lægger én til i, men i forbliver det samme. i+=1 giver 6 første gang og 7 næste.
Synes godt om
Slettet bruger
25. oktober 2001 - 16:15#11
fri-hash>> Nej, for i første gennemløb vil \"i\" være 1 (hvis man bruger dit kald), og i andet og alle de uendeligt mange andre gennemløb vil \"i\" være 2. For du forøger jo ikke \"i\", du giver bare skiftfarve() en parameter, som altid vil være den samme!
hvis jeg skriver funktionsnavn(1); er det vel det samme som at skrive funktionsnavn(0+1); og hvis parameteret får variabelnavnet i, vil i vel antage værdien der er angivet i kaldet - når funktionen kaldes med funktionsnavn(1+1) bliver variablen i altså til 2 og funktionsnavn(i+1) skulle blive parameteren 3, som så lægges i det variabelnavn parameteren har i funktionen, men bare glem diskussionen - i får ret, jeg får fred
Synes godt om
Slettet bruger
25. oktober 2001 - 16:33#15
OK: Variablen \"i\" ændres ikke af følgende: i+1; men tilgengæld af: i++; i+=1; i=i+1; Så dit script skal se sådan ud:
function skiftfarve(i){ if (i<5){ document.all[menunavn].style.backgroundColor = farver[i]; } setTimeout(\"skiftfarve(\" + ++i + \")\",100) }
variablen er lokal i funktionen så den behøver slet ikke ændre sig men setTimeout(\"skiftfarve(i+1)\",100) dutter ikke for så står setTimeout 100 ms efter funktionen er afsluttet med en streng hvor der står i (hvafforen i?).
så: function skiftfarve(i){ if (i<5){ document.all[menunavn].style.backgroundColor = farver[i]; } setTimeout(\"skiftfarve(\" +(i+1) +\")\",100); // i+1 skal udregnes her. }
ok, det vil sige det var lidt stremgmanipulation der skulle til - det lød på kommentarerne som om man ikke kunne lave rekursive funktionskald i javascript
tankeganger er måske rekursiv, men det er decideret ikke rekursion, setTimeout returnerer med det samme efter at have hængt strengen på en taskliste mærket \'skal udføres om 100millisekunder\'.
jeg skrev også \"inspireret af rekursion\", jeg ved godt at det ikke er en \'rigtig\' rekursiv funktion - jeg har programmeret rekursive funktioner i c++
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.