Prompt Box mit String und Number


<script language="JavaScript" type="text/javascript">
var x, y;
x=prompt("Gib mal eine Zahl ein","");
y=prompt("Gib mir noch eine Zahl","");
alert(Number(x)+Number(y));
</script>



Das Window Objekt Prompt Box

prompt("fenstertext" , "eingabe")
Wie man sieht kommt in die Klammern vor das Komma der Text, welcher in der Prompt Box angezeigt wird.
Hinter dem Komma kommen in der Regel nur 2 Anführungszeichen, es sei denn man will im Eingabefeld einen Text vorgeben.
Der Wert des Eingabefeldes wird an die Variable zurückgegeben.
Die Prompt Box gibt den Datentyp String zurück. Was heißt das denn schon wieder?

String & Number

Nicht nur in Javascript sondern auch in anderen Programmiersprachen gibt es verschiedene Datentypen, unter anderem eben auch string und number.
Wenn ich beispielsweise 2+3 schreibe so könnte das 5 oder 23 sein.
Bei 5 würde es sich um number handeln. Die beiden Zahlen werden als Werte angesehen, mit denen man rechnen kann.
Bei 23 wäre es string. Die beiden Zahlen werden als Zeichen oder Zeichenketten angesehen, die man aneinanderreiht.
Die Prompt Box gibt immer string Werte zurück, welche in unserem Beispiel mittels Number() in eine numerische, rechnerische Zahl umgewandelt werden müssen.

Noch was, erinnern wir uns an das vorige Beispiel
x=2;
y=3;
alert(x+y);
Hier kamen die Werte der Variablen nicht von einer prompt box, sondern wurden im Script definiert und sind somit numerische Zahlenwerte, also number.
Wenn ich bei diesem Beispiel die beiden Zahlen als string Zeichenketten behandeln will, so daß 23 (zwei drei) erscheinen würde, so müßte ich die beiden Zahlen in Anführungsstriche schreiben.

x="2";
y="3";

Was würde wohl passieren wenn man es stattdessen so schreiben würde?
alert("x"+"y");
Wenn du das auf Anhieb weißt hast du es kapiert.
Ich verrate es dir, in der Alert Box steht dann xy

Das Pluszeichen hat hier eine andere Bedeutung, es dient als Verkettungsoperator mit dem man Strings und auch Number-Werte aneinanderreiht. Ändere das alert Objekt folgendermaßen.

alert("das Ergebnis ist: " + (Number(x)+Number(y)))

Zu Beginn ein String in Anführungsstrichen, gefolgt von einem Pluszeichen, welches hier als Verkettungsoperator dient, dahinter, in Klammern eingeschlossen, die Addition.

Das Pluszeichen hat 2 Bedeutungen:

  1. Es kann als Verkettungsoperator dienen, mit dem man Strings und andere Datentypen aneinanderreiht.
  2. Steht das Pluszeichen zwischen 2 Zahlenwerten (number) oder 2 Variablen, die Zahlenwerte enthalten, dient es als Additionszeichen. Innerhalb von Strings, muss die Rechnung in Klammern eingeschlossen sein.