JavaScript - Basics

Eingabefelder

If - Abfrage

if ( a > b ) 
{
  ausgabe("then","a: "+a,"b: "+b);

} else { ausgabe("else","a: "+a,"b: "+b); }

If - Abfrage (And)

if ( a == 1 && b == 1 ) 
{
  ausgabe("then","a: "+a,"b: "+b);

} else { ausgabe("else","a: "+a,"b: "+b);

}

If - Abfrage (Or)

if ( a == 1 || b == 1 ) 
{
  ausgabe("then","a: "+a,"b: "+b);

} else { ausgabe("else","a: "+a,"b: "+b);

}

While

a = 0;
while ( a < b ) 
{
  ausgabe("while","a: "+a,"b: "+b);
a++;

}

For

var z;
for ( z=0; z < a; z++ ) 
{
  ausgabe("for","a: "+a,"z: "+z);

}

Switch

var a = document.getElementById("eingabea").value;
// Achtung: hier wird a als string Behandelt
// Mit a++; wird a dann aber integer
// Wichtig bei case 1 oder case "1"
switch(a)
{
  case "1":

ausgabe("switch","a1: "+a); break;

case "2":

ausgabe("switch","a2: "+a); break;

default:

ausgabe("switch","default: "+a);

}

Array

var a = document.getElementById("eingabea").value;
var z;
var ar = new Array(a);

// Array belegen
for ( z=0; z < a; z++)
{
    ar[z] = z + 10;

} // Array ausgeben z=0; for ( z=0; z < a; z++) { ausgabe("array","Platz"+z,"Wert:"+ar[z]);

}

Array zweidimensional

var zeilen  = document.getElementById("eingabea").value; 
var spalten = document.getElementById("eingabeb").value; 
var z;

// Erste Ebene (zeilen) belegen
var feld = new Array(zeilen);

// Zweite Ebene (spalten) belegen
for ( z=0; z < spalten; z++)
{
    feld[z] = new Array(spalten);
}

// Array mit Zeile + spalte belegen
for ( z=0; z < zeilen; z++)
{
    for ( s=0; s < spalten; s++)
    {
      feld[z][s] = z+1 + s+1;
    }
}

// Array ausgeben
ausgabe("Array ("+zeilen+" mal "+spalten+")","-","-");
for ( z=0; z < zeilen; z++)
{
  ausgabe("Zeile "+z,"-","-")
  for ( s=0; s < spalten; s++)
  {
    ausgabe("Spalte"+s,"Wert:"+feld[z][s],"-");
  }
}

Variablen Übergabe an Funktion

a wird an die Funktion übergeben und dort ausgegeben.

function funUeber()
{
  var v_qWert  = document.getElementById("eingabea").value; 
  ausgabe("Wert in funUeber: ",v_qWert);
  funZiel(v_qWert);
  ausgabe("Wert in funZiel nach funZiel: ",v_qWert);
}

function funZiel(wert)
{
  ausgabe("Wert in funZiel: ",wert);
}

Variablen Übergabe an Funktion und Rückgabe

a wird an die Funktion übergeben dort verändert und zurückgegeben.

function funUeberRet()
{
  var v_qWert  = document.getElementById("eingabea").value; 
  ausgabe("Wert in funUeberRet: ",v_qWert);
  v_qWert = funZiel(v_qWert);
  ausgabe("Wert in funUeberRet nach funZiel: ",v_qWert);
}

function funZiel(wert)
{
  ausgabe("Wert in funZiel: ",wert);
  wert = 8;
  return(wert);
}

Array Übergabe an Funktion

Array wird an die Funktion übergeben und dort ausgegeben.

function funUeberArray()
{
  var v_array = new Array();

  v_array[0] = "Eins";
  v_array[1] = "Zwei";

  ausgabe("Wert array[0] in funUeberArray: ",v_array[0]);
  funZielArray(v_array);
}

function funZielArray(uebArray)
{
  ausgabe("Wert array[1] in funZielArray: ",uebArray[1]);
  ausgabe("Wert array[0] in funZielArray: ",uebArray[0]);
}

Array Übergabe an Funktion und Rückgabe

Array wird an die Funktion übergeben dort belegt und in der aufrufenden Funktion ausgegeben. Erstaunlich, dass hier kein return erforderlich ist.

function funUeberArrayRet()
{
  var v_qWert  = document.getElementById("eingabea").value; 
  var v_array = new Array();
  ausgabe("Wert array[0] in funUeberArrayRet: ",v_array[0]);
  funZielArrayRet(v_array);
  ausgabe("Wert array[0] in funUeberArrayRet: ",v_array[0]);
  ausgabe("Wert array[1] in funUeberArrayRet: ",v_array[1]);
}

function funZielArrayRet(uebArray)
{
  uebArray[0] = "Eins";
  uebArray[1] = "Zwei";
  ausgabe("Wert array[1] in funZielArrayRet: ",uebArray[1]);
  ausgabe("Wert array[0] in funZielArrayRet: ",uebArray[0]);
}

Array Bearbeitung

main Funktion

Das Array wird als globale Variable definiert. Dies ist notwendig, da sonst bei jedem Aufruf von funEditArrayMain das Array neu erzeugt und damit leer ist.

Alle Buttons rufen die Funktion funEditArrayMain auf. Mit e.target.id wird ermittelt welcher Button gedrückt wurde und mit switch dann die entsprechende Funktion aufgerufen.

Das Ganze hätte man auch mit einem globalen Array realisieren können. Aber das ist nicht so professionell.

Array sortieren mit arrayName.sort(); http://www.javascriptkit.com/javatutors/arraysort.shtml

function funEditArrayMain(e)
{

  switch ( e.target.id )
  {
    case "arrayCreate":
      v_array = new Array();
      funEditArraySet(v_array);
      break;
    case "arrayAdd":
      funEditArrayAdd(v_array);
      break;
    case "arrayUp":
      funEditArrayUp(v_array);
      break;
    case "arrayDown":
      funEditArrayDown(v_array);
      break;
  }

  funEditArrayShow(v_array);
}

Button: Array erstellen

Array wird in der Funktion funEditArrayCreate belegt.

function funEditArraySet(uebArray)
{
  uebArray[0] = "Eintrag 1";
  uebArray[1] = "Eintrag 2";
  uebArray[2] = "Eintrag 3";
  uebArray[3] = "Eintrag 4";
  uebArray[4] = "Eintrag 5";
}

Button: Eintrag dazu

Ein zusätzlicher Eintrag wird mit der Funktion funEditArrayAdd hinzugefügt.
array.push()

function funEditArrayAdd(uebArray)
{
  var v_anzahl = uebArray.length + 1;

  uebArray.push("Eintrag " + v_anzahl);
}

Button: nach oben

Der oberste Eintrag des Arrays wird am Ende angefügt (push) und der erste Eintrag gelöscht (shift)- Funktion funEditArrayUp

function funEditArrayUp(uebArray)
{
  uebArray.push(uebArray.shift());
}

Button: nach unten

Der letzte Eintrag des Arrays wird am Anfang eingefügt (unshift) und der letzte Eintrag gelöscht (pop) - Funktion funEditArrayDown

function funEditArrayDown(uebArray)
{
  uebArray.unshift(uebArray.pop());
}

Funktion: funEditArrayShow

Die Funktion zeigt das Array in einem idv an.

function funEditArrayShow(uebArray)
{
  var v_p;           // Variable für document.createElement("p") 
  var v_text;        // Variable für document.createTextNode
  var v_anzeigediv = document.getElementById("arrayAnzeigen");
  var v_i;             // Allgemeine Zählvariable

  // Das Anzeige DIV leeren
  anzeigeDivLeer(); 

  // Alle Treffer abarbeiten
  for ( v_i = 0; v_i < uebArray.length; v_i++ )
  {
    v_p    = document.createElement("p");
    v_text = document.createTextNode("Arrayeintrag: " + v_i + "  -  " + uebArray[v_i]); // Text erzeugen
    v_anzeigediv.appendChild(v_p);                          // Text an div anhängen
    v_p.appendChild(v_text);
  }
}

function anzeigeDivLeer()
{
  var v_anzeigediv = document.getElementById("arrayAnzeigen");

  while ( v_anzeigediv.lastChild )
  {
    v_anzeigediv.removeChild(v_anzeigediv.lastChild);    
  }
}

Zufallszahl

Die Funktion generiert Zufallszahlen zwischen min und max

function rand(v_min, v_max)
{
  return Math.floor(Math.random() * (v_max - v_min + 1)) + v_min;
}