kramann.info
© Guido Kramann

Login: Passwort:










2.3 Variablen in Javascript

2.3 Variables in Javascript (EN google-translate)

2.3 Zmienne w JavaScript (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.

Javascript does not know type binding for variables. It is therefore possible, for example, to overwrite a variable with a string with a number.

JavaScript nie zna wiązania typu dla zmiennych. Dlatego możliwe jest na przykład nadpisanie zmiennej ciągiem o numerze.

Dennoch gibt es eine wohldefinierte Anzahl an Variablentypen in Javascript. In einer Variablen können folgende Arten an Elementen gespeichert werden:

Nevertheless, there is a well-defined number of variable types in Javascript. The following types of elements can be stored in a variable:

Niemniej jednak w JavaScript istnieje ściśle określona liczba typów zmiennych. W zmiennej można przechowywać następujące rodzaje elementów:

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

Um sich Klarheit über die Korrektheit eines Variablentyps zu verschaffen, kann man die Funktion typeof verwenden.

To clarify the correctness of a variable type, one can use the function use typeof.

Aby wyjaśnić poprawność typu zmiennej, można użyć tej funkcji użyj typeof.

Übung
exercise
ćwiczenie

Belegen Sie die Variable x auf unterschiedliche Weise und prüfen Sie mit dem Button typeof nach, welchen Variablentyp Javascript jeweils erkennt:

Assign the variable x in different ways and check with the button typeof, which variable type Javascript recognizes:

Przypisuj zmienną x na różne sposoby i sprawdź za pomocą przycisku buttonof, który javascript typu zmiennego rozpoznaje:



Sie können dabei folgendes feststellen:

Javascript does not know type binding for variables. It is therefore possible, for example, to overwrite a variable with a string with a number.

JavaScript nie zna wiązania typu dla zmiennych. Dlatego możliwe jest na przykład nadpisanie zmiennej ciągiem o numerze.

  • 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 2.3-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:

Arrays can be created in Javascript in several ways:

Tablice można tworzyć w JavaScript na kilka sposobów:


//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 2.3-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 2.3-3: Arrays wachsen dynamisch.

Mehrdimensionale Arrays

Mehrdimensionale Arrays

Tablice Mehrdimensionale


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 2.3-4: Mehrdimensionale Arrays.

Übung
exercise
ćwiczenie

Ü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:

Check the correctness of the methods for creating arrays introduced above, by inserting the appropriate lines below and pressing the test button:

Sprawdź poprawność metod tworzenia tablic przedstawionych powyżej, wstawiając odpowiednie linie poniżej i naciskając przycisk testu:


<!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 2.3-1: Quelltext zu obigem Beispiel.