• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Was gibt diese Funktion aus?

Clay

New member
Folgende Funktion ist gegeben:


HTML:
var tag = "klausur";
function foo()
{
 ausgabe.innerhtml = "Heute ist "+tag+"tag!";
}


nun lautet die Frage in meiner Übung, was diese Funktion ausgibt, ich beschreib es in meinen Worten:

die variabel "tag" ist mit dem string "klausur" belegt, die funktion foo() spuckt dann einfach bei einem <div id="ausgabe"></div> den Text: "Heute ist Klausurtag!" aus.

Stimmt das so? ich hab bissl Probleme zu verstehen wieso man das in diese Funktion da gepackt hat.

- - - Aktualisiert - - -

Bei einem weiteren Beispiel zum Vergleich, versteh ich garnicht wieso, das ausgespuckt wird, was eben ausgespuckt wird, dabei geht es um folgendes:

ausgabe.innerHtml = "Abs07 ";
HTML:
for (var i = 1; i < 4 ; i++) {
   for ( var j = i ; j < 4 ; j++ ) { ausgabe.innerhtml += j;  }
   ausgabe.innerHtml += i+"<br>";
}


ich weiß durch probieren das, der Browser mir das rausgibt:
Abs07 1231
232
33

ich hätte aber eher auf das getippt:
Abs0711
Abs0722
Abs0733

kann mir einer erklären wie die For-Schleifen hier funktionieren? ich schein das anscheinend nicht ganz verstanden zu haben und wieso sind die "Abs07" in den weiteren Zeilen nicht mehr dabei?
 
Zuletzt bearbeitet von einem Moderator:
Stimmt das so? ich hab bissl Probleme zu verstehen wieso man das in diese Funktion da gepackt hat.
Ja das kann man so kurz und knapp beschreiben. Das in eine Funktion zu packen haz den Vorteil, das du eben diese Funktion zu einem beliebigen Zeitpunkt aufrufen kannst. Z.B. nach einer gewissen Zeit,, erst wenn die Seite komplett geladen ist oder wenn ein sog. Event (Ereignis) eintritt, z.B. ein Klick auf eine Schaltfläche (button).


kann mir einer erklären wie die For-Schleifen hier funktionieren? ich schein das anscheinend nicht ganz verstanden zu haben und wieso sind die "Abs07 " in den weiteren Zeilen nicht mehr dabei?
"Abs07" erscheint nur einmal, weil ausgabe.innerHtml = "Abs07 "; auch nur einmal aufgerufen wird.
Du hast zwei for-Schleifen. Die äussere for (var i = 1; i < 4 ; i++) zählt die Variable ivon 1 bis 4 (i++ ist das gleiche wie i = i + 1) und prüft nach jedem Erhöhen von i, ob eben i kleiner als 4 ist. Und sobald das nicht mehr zutrifft ist die Schleife beendet. Bei dem inneren for ( var j = i ; j < 4 ; j++ ) passiert nichts anderes nur eben mit der Variable j und die Erweiterung des String innerHTML, da innerHTML += j das gleiche ist wie innerHTML = innerHTML + j und das heißt im ersten Durchlauf übersetzt "Abs07 1" = "Abs07 " + "1".
Das ybrY steht für einen Zeilenumbruch in HTML.
Beachte das die inner Schleife immer erst komplett durchläuft, bis die äussere Schleife um 1 erhöht wird.
 
NB: richte demjenigen, der die Übungen erstellen, mal aus, dass die Codequalität seiner Übungen extrem ungeeignet zum lernen ist: globale Variablen, Zugriff auf das DOM über die automatisch registrierten globalen Variabeln, inkonsistenter Codestil.
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben