Avatar billede yoka Nybegynder
03. februar 2008 - 15:14 Der er 9 kommentarer og
1 løsning

Variabel stiger ikke?

Hej, jeg er gået i stå over noget meget simpelt. På en side skal der bare lægges "1" til en variabel når der trykkes på en knap.

n = 0;  // her laver jeg variablen som skal være global, og starte på 0

function projectBack() { // når brugeren klikker på et link længere nede på siden, går denne function igang


n = n++; // her skulle n gerne blive til "1" ved første klik (og 2 ved næste etc... jeg har også prøvet med n = n +1;)

alert( n ); // her starter jeg en alert for at tjekke om tallet er steget som det skal

}


problemet er at tallet ikke stiger! jeg ved ikke hvorfor?

På forhånd tak
Avatar billede w13 Novice
03. februar 2008 - 15:19 #1
Ret:
n = 0;
til:
var n = 0;

og:
n = n++;
til:
n++;

Det burde gøre tricket.
Avatar billede yoka Nybegynder
03. februar 2008 - 15:24 #2
tak! det virkede!
Avatar billede w13 Novice
03. februar 2008 - 15:28 #3
Godt at høre! :) Det var nok fordi du mangle "var" foran n=0; for at gøre det globalt.

Det med kun at skrive n++; er bare lidt federe. =)
Avatar billede w13 Novice
03. februar 2008 - 15:39 #4
Du bør i øvrigt huske at lukke dine gamle indlæg. =) Ser at du stadig har 3 spørgsmål fra midt i 2007 åbne.
Avatar billede w13 Novice
03. februar 2008 - 15:43 #5
Har du styr på, hvordan man lukker et spørgsmål?
Avatar billede gammelhat Nybegynder
03. februar 2008 - 17:38 #6
udenfor funktionen er var en valgfri parameter. Variablen vil automatisk blive global

http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Statements:var
Avatar billede yoka Nybegynder
03. februar 2008 - 17:44 #7
Ok tak for svarene. Nej jeg kan ikke finde nogle knapper hvor man lukker sprøgsmål, eller giver point. Hvor gør man det?
Avatar billede w13 Novice
03. februar 2008 - 17:55 #8
Du har lige gjort det, ved at acceptere mit svar.
Avatar billede w13 Novice
03. februar 2008 - 17:55 #9
Men det kræver, at ham der svarer, har lagt et svar, ligesom jeg havde, og ikke blot en kommentar.
Avatar billede roenving Novice
04. februar 2008 - 23:28 #10
-- og hvis du havde skrevet:

n = ++n; var variablen blevet opdateret, da en efterstillet inkrementerings-operator udføres efter den direkte funktion ...

-- men som w13 skriver, kan du nøjes med at bruge inkrementeringen direkte !-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester