Avatar billede fiskeprojekt Nybegynder
05. maj 2002 - 18:32 Der er 8 kommentarer og
1 løsning

variabel + variabel

a = 3;
b = 4;
c = a + b;

Resultatet af c bliver så : 43, hvordan kan man få den til at ligge dem sammen istedet?
05. maj 2002 - 18:50 #1
c = a ++ b vil jeg mene
05. maj 2002 - 18:52 #2
eller er det vidst c = (a + b); du må lige prøve kan ikke huske det :)
+ er får javascript måden at kæde 2 variabler sammen på. Lige som & er får ASP  / Visual Basic og . er får PHP.
Avatar billede jakoba Nybegynder
05. maj 2002 - 18:52 #3
dit eksempel er ikke korrekt, men det er en kendt misforståelse.

Der er forskel på et tal og en streng.

a = "3";    // a er en streng der indeholder bogstavet '3'
b = 4;      // b er et tal med værdien 4
c = a + b;  // c bliver nu "34" fordi b ændres til en stren der så hægtes efter a.
alert( c );
a = 3;      // a er et tal
b = 4;      // b er et tal
c = a + b;  // c bliver så tallet 7
alert( c );

Javascript prøver at konvertere til det 'rigtige', men nogen gange gætter det galt. Så hvis du vil være sikker må du selv holde øje med hvad type data der er i dine variable.

det kan fx gøres med funktionen typeof( var )

a = "123";
alert( typeof( a ) );
a = 456;
alert( typeof( a ) );

mvh JakobA
Avatar billede fiskeprojekt Nybegynder
05. maj 2002 - 19:21 #4
Ved begge muligheder vil den ikke udskrive nogen værdi for c...
Avatar billede jakoba Nybegynder
05. maj 2002 - 19:33 #5
dt burde den søreme. Hvordan ser dit testprogram ud? kan du lægge et link?

check evt på regnemaskinen her:
http://www.jakoba.dk/EUG/artikel1.html
Den er netop lavet til at demonstrere Javascripts besynderlige adfærd med variable af forskellige typer
Avatar billede fiskeprojekt Nybegynder
05. maj 2002 - 19:37 #6
Ok, tak :-)
Avatar billede fiskeprojekt Nybegynder
05. maj 2002 - 19:38 #7
Havde ikke lige set at der var kommet en svar mere da jeg skrev det med de 2 muligheder ikke virkde, da kunne jeg kun se de 2 øverste...
Avatar billede Slettet bruger
15. januar 2003 - 10:16 #8
Hvordan kan man så gøre det når det er tal der er indtastet i tekstfelter? De bliver jo automatisk opfattet som strenge. Hvordan konverterer man dem?
Avatar billede jakoba Nybegynder
15. januar 2003 - 10:44 #9
du kan 'tvinge' javascript til at omforme til den type du vil have:

var indtastetTal = 1 * document.formnavn.feltnavn.value;

gangetegnet kræver at begge operander er tal så det prøver javascript at lave dem om til. Det er dog ikke den allerbedste måde at gøre det på for hvad nu hvis brugeren er kommet til at skrive "olsen" i feltet eller noget andet der ikke kan laves om til et tal.

Så jeg bruger som regel denne:

var indtastetTal = parseInt( "0"+document.formnavn.feltnavn.value, 10 );

mvh JakobA
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