Variablen in Javascript
(EN google-translate)
(PL google-translate)
Javascript kennt keine Typbindung für Variablen. Es ist deshalb beispielsweise möglich, eine mit einem String belegte Variable mit einer Zahl zu überschreiben.
Dennoch gibt es eine wohldefinierte Anzahl an Variablentypen in Javascript. In einer Variablen können folgende Arten an Elementen gespeichert werden:
|
Um sich Klarheit über die Korrektheit eines Variablentyps zu verschaffen, kann man die Funktion typeof verwenden.
Übung
Belegen Sie die Variable x auf unterschiedliche Weise und prüfen Sie mit dem Button typeof nach, welchen Variablentyp Javascript jeweils erkennt:
Sie können dabei folgendes feststellen:
|
undefined bezeichnet eine noch nicht belegte Variable.
null kann einem Objektzeiger zugewiesen werden, der leer sein soll.
<!DOCTYPE html> <html> <head lang="de"> <meta charset="iso-8859-1"> <script language:javascript> function pruefen() { var skript = "var x = "+document.getElementById("eingabe").value+";"; try { eval(skript); alert("Typ von x: "+typeof(x)+" Belegung von x="+x); } catch(error) { alert(error.name+": "+error.message); } } </script> </head> <body> <br/> <p>Geben Sie nachfolgend mögliche Variablenbelegungen ein:</p> <form> <input style="width:300px;" type="text" value="" id="eingabe"/> <input type="button" onClick="javascript:pruefen()" value="typeof"/> </form> <br/> </body> </html>
Code 0-1: Quelltext zu obigem Beispiel.
Mit eval(...) können Strings als Javascript-Code ausgeführt werden.
Arrays
Arrays können in Javascript auf verschiedene Weise angelegt werden:
//Eindimensionales Array mit 40 Elemeten: var vektor1 = new Array(40); //Achtung: Setzt man mehr als eine Zahl in die runden Klammern, //wird das als Elemente des Arrays und nicht als Dimensionen interpretiert!: var vektor2 = new Array(1,2,3,4); alert("Laenge von Vektor1:"+vektor1.length+" Laenge von Vektor2:"+vektor2.length); // ... liefert 40, bzw. 4. let y = [1,2,3,"huhu",true]; alert(y.length); // ... liefert 5, wie man sieht, kann der Typ der Belegungen gemischt sein.
Code 0-2: Anlegen von Arrays
Arrays in Javascript wachsen dynamisch. Man kann auch Elemente belegen, die nicht deklariert wurden:
var x = new Array(); x[0]=5; x[7]=12; alert(x.length); // ... liefert 8
Code 0-3: Arrays wachsen dynamisch.
Mehrdimensionale Arrays
var matrix = [[1,2,3],[4,5,6]]; alert(matrix.length); // ... liefert 2 alert(matrix[0].length); // ... liefert 3 //Gleicher Effekt, aber ohne Belegung: var m = new Array(2); m[0] = new Array(3); m[1] = new Array(3); alert(m.length); // ... liefert 2 alert(m[0].length); // ... liefert 3
Code 0-4: Mehrdimensionale Arrays.
Übung
Überprüfen Sie die Richtigkeit der oben eingeführten Methoden zur Erzeugung von Arrays, indem Sie die entsprechenden Zeilen unten einfügen und den Knopf "testen" drücken:
<!DOCTYPE html> <html> <head lang="de"> <meta charset="iso-8859-1"> <script language:javascript> function testen() { var skript = document.getElementById("quelltext").value; try { eval(skript); } catch(error) { alert(error.name+": "+error.message); } } </script> </head> <body> <br/> <p>Geben Sie nachfolgend mögliche Variablenbelegungen ein:</p> <form> <textarea id="quelltext" rows="8" cols="50">Geben Sie hier Ihr Javascript-Beispiel ein. </textarea> <input type="button" onClick="javascript:testen()" value="testen"/> </form> <br/> </body> </html>
Code 0-1: Quelltext zu obigem Beispiel.