PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [JS] Will mich verarschen


M@tes
2004-12-12, 12:37:24
Ok muss am Anfang sagen, das ich ein JS Anfänger bin.
Ich will eine einfache Addition ausführen:
s = s +1;
stat jetzt zu rechnen:
s = 1 +1; (=2)
macht der folgendes:
s = 1 +1; (=11)
Haut man das ganze in eine Schleife, kommt folgendes heraus:
111111,...
Also der addiert es nciht, sondern hängt die 1 immer hinten dran.
Wie kann ich das umgehen?
s = s++;
tut auch nicht.

MadMan2k
2004-12-12, 12:40:26
du hast keinen anfangswert für s definiert, darum nimmt er an s wäre ein leerer string.
mach einfach mal ein "s = 0;"
vor der Gleichung;

M@tes
2004-12-12, 13:04:12
Naja s ist in dem sinne schon definiert:

s = counter.title;
counter.title = s +1;

...

<div id="counter" title="0">

Das komische ist:

counter.title = s -1;

geht :P

clm[k1]
2004-12-12, 13:51:09
Das problem ist das er denkt das wäre ein string!
der + operator ist nicht nur zum addieren da, der wird auch zum konkatenieren von strings verwendet!

kannst ja mal so versuchen: s = (s * 1) + 1;
dann sollte er eigentlich realisieren das s kein string ist.

tja, javascript ist wirklich abartig - nicht nur wegen der ungetypten variablen.
sondern vor allem weil jeder browser seine eigene implementierung hat.


gruß
clm[k1]

MadMan2k
2004-12-12, 13:52:35
jo, counter.title ist ein string und '+' ist auch ein string verknüpfungs operator :)

M@tes
2004-12-12, 14:52:24
cool es funtzt mit dem s = (s * 1) + 1; :smile:
Danke

RMC
2004-12-12, 16:11:44
hättest denn String mit "parseInt()" auch zu einer Zahl machen können.

[TMP]Peds X-ing
2004-12-13, 15:52:05
s = Number(s) + Number(1);

So sollte das gehen.
Macht der diesen Blödsinn auch, wenn du s+=1 machst?

M@tes
2004-12-13, 16:14:24
Peds X-ing']s = Number(s) + Number(1);

So sollte das gehen.
Macht der diesen Blödsinn auch, wenn du s+=1 machst?

Ja. Kannte den Befehl aus der Perlprogrammiersprache, aber das ergab den gleichen Effekt :frown: