Hallöschen,
ich muss gerade JavaScript für eine Klausur lernen. Ich selber habe Jahrelang Java programmiert, und komme dementsprechend aus der Java Welt in die JavaScript Welt.
Jetzt bin ich auf 2 Fragen gestoßen, die mich ein wenig verwirren. Vielleicht kann mich jemand aufklären.
1) Zwei Varianten der Funktionsdekleration.
Ich habe herausgefunden, es gibt 2 Möglichkeiten Funktionen zu deklarieren:
Was ist der Unterschied? Wann verwendet man die obere Methode, wann die untere?
2) Funktionen als Parameter und als Rückgabewert.
In JavaScript ist es möglich, Funktionen als Parameter und als Rückgabewert von anderen Funktionen zu verwenden.
Hier ein Beispiel, was ich meine:
var squared = function(x) {
return x * x;
}
var func = function(func) {
return function(x, y) {
return func(x) + func(y);
}
}
var add = func(squared);
console.log(add(4,2));
Alles anzeigen
a) Weso darf ich squared 2 Zahlen übergeben, wenn die Funktion selber nur 1 Parameter hat? Darf ich das immer machen, oder nur in diesem Fall?
-> Der Aufruf von "add(4,2)" ruft schließlich die Funktion "squared" mit den Parametern (4,2) auf. Die Funktion "squared" hat aber nur einen Parameter, den Parameter "x"..
Besonders verwirrt mich diese Zeile:
b) Wieso hat die Funktion "func" sich selber als Parameter?