kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




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:

  • string
  • number
  • boolean
  • function
  • null
  • undefined

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:

  • Es gibt keine Unterscheidung zwischen Fließkommazahlen und Integerzahlen.
  • Strings können in doppelten oder einfachen Anführungszeichen stehen.
  • Es gibt den Typ char (Character) nicht.
  • Man kann auch Funktionen ad hoc eingeben und in einer Variable speichern.

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.