Hallo,
alert("18" < "4"); //true !
alert("18" < 4); //false
alert(18 < "4"); //false
alert(18 < 4); //false
>
> kleine Ergänzung: und da .value ja immer strings zurückgibt...
eben, und daran denkt man oft nicht. "Wieso? Ist doch eine Zahleneingabe!"
> Aber ich mußte auch erst testen, was du meinst, weil mir wiederum nicht klar war, dass JS auch Strings direkt vergleicht. Ich hatte irgendwie erwartet, dass zuerst aus "18" ein Integer 18 wird, dann "4" zu Integer 4 konvertiert wird und dann der Vergleich stattfindet.
Und wie sollte dann der Vergleich `"David"<"Goliath"`{:.language-javascript} ablaufen? Erst beide Strings in Integer wandeln, dabei 0 herausbekommen, und dann behaupten, sie seien gleich? Nee, JS macht zwar manchmal sehr eigenwillige Dinge, aber ein Stringvergleich ist "pretty straightforward".
Ciao,
Martin
--
Keine Sorge, wir finden für jede Lösung ein Problem.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(