André Laugks: Funktionen: Call by Value, Rückgabewerte

Hallo!

Zur Zeit befasse ich mich intensiv mit JavaScript! Dazu verwende ich das Buch JavaScript von Stefan Koch, was ich nur empfehlen kann!

Ich habe aber ein paar Probleme, Funktionstypen zu verstehen!

1. Call by Value (Beispiel aus dem Buch)

--------------------><8------------------------------------------------------------------------------

function meine funktion(x) {
  //x bekommt den Wert 10 zugewiesen
  
  x += 5;
  //x wird um 5 erhoeht und hat nun den Wert 15
}

var xyz = 10;

meine Funktion(xyz);
//xyz hat nach der Bearbeitung der Funktion immer noch den Wert 10

--------------------><8------------------------------------------------------------------------------
x += 5 bedeutet ja auch x = x + 5, also der Variable x wird noch mal 5 dazu addiert.

Ich kann dieses Beispiel aber nicht nachvollziehen. Wird die Variable xyz über meine Funktion(xyz) an das x in function meine Funktion(x)  übergeben? Und dieses x wird dann an das x bei x += 5 übergeben und somit addiert es sich auf 15? Wo findet solch eine Funktion überhaupt Anwendung?

Funktion mit Rückgabewerte (Besiepiel aus dem Buch)

--------------------><8------------------------------------------------------------------------------

function quadrieren(x) {
     var y;
     y = x * x
     return y;
}

Kürzer kann man diese Funktion so schreiben:

funktion quadrieren(x) {
     return x * x
}

--------------------><8------------------------------------------------------------------------------

Hier kann ich nun gar nicht folgen, trotz 1000 mal lesen des Beschreibungstextes! wo findet solch eine Funktion Anwendung?

Vielen Dank

André

  1. Hallo!

    Ich habe aber ein paar Probleme, Funktionstypen zu verstehen!

    function meine funktion(x) {

    Erst einmal: keine Abstände in Funktionsnamen

    x += 5;
    }
    var xyz = 10;

    meine Funktion(xyz);
    //xyz hat nach der Bearbeitung der Funktion immer noch den Wert 10

    Stimmt!

    Ich kann dieses Beispiel aber nicht nachvollziehen. Wird die Variable xyz über meine Funktion(xyz) an das x in function meine Funktion(x)  übergeben?

    Ja.

    Und dieses x wird dann an das x bei x += 5 übergeben und somit addiert es sich auf 15?

    Korrekt.

    Wo findet solch eine Funktion überhaupt Anwendung?

    Wenn du zum Beispiel in einer Funktion die übergebene Variable +5 als alert-Box ausgeben willst (also: alert(x); )

    function quadrieren(x) {
         var y;
         y = x * x
         return y;
    }

    Kürzer kann man diese Funktion so schreiben:

    funktion quadrieren(x) {
         return x * x
    }

    Hier kann ich nun gar nicht folgen, trotz 1000 mal lesen des Beschreibungstextes! wo findet solch eine Funktion Anwendung?

    Dieses return bewirkt das das "quadrieren(x)" einen Wert erhält, den du entweder ausgeben (alert) oder in einer Variable speichern kannst, also zum Beispiel (quadrat=quadrieren(x);)

    Das sollte dir helfen. Viele Grüße,
    Alexander

  2. hi!

    Zur Zeit befasse ich mich intensiv mit JavaScript! Dazu verwende ich das Buch JavaScript
    von Stefan Koch, was ich nur empfehlen kann!
    Ich habe aber ein paar Probleme, Funktionstypen zu verstehen!

    [...]

    Was die einzelnen Funktionen bringen, bzw. was man damit anfangen kann, hat Alexander dir ja schon geschrieben. Im allgemeinen ist es so, dass in solchen Büchern normalerweise sehr einfache Funktionen mit nur ein paar Zeilen Code zur Erläuterung eines Prinzips verwendet werden.
    Im ersten Beispiel sollst du also nur lernen, wie man eine Variable an eine Funktion übergibt und dann innerhalb der Funktion damit arbeitet. Im zweiten Beispiel lernst du dann, wie du eine Variable übergibst, damit arbeitest, und das Ergebnis dieser Bearbeitung als Rückgabewert erhälst.

    Also: nicht unbedingt soviele Gedanken darüber machen, ob die Funktionen etwas bringen oder nicht, sondern eher darüber, wie und warum sie funktionieren.

    bye, Frank!

  3. Hi,

    kannst Du mir die ISBN-Nummer dieses Buches angeben? Dies würde mich sehr interessieren!

    Danke
    Reini

    1. Hallo!

      kannst Du mir die ISBN-Nummer dieses Buches angeben? Dies würde mich sehr interessieren!

      ISBN 3-932588-26-6

      Seite zum Buch: http://www.dpunkt.de/javascript

      In selfhtml, wo weiss ich jetzt nicht genau, wird das Buch empfohlen/angegeben.

      André