forked from WEB-IMB-WS2526/lab-development-imb
53 lines
1.1 KiB
JavaScript
53 lines
1.1 KiB
JavaScript
// Normale Funktionsdeklaration
|
|
function add(a, b) {
|
|
return a + b;
|
|
}
|
|
console.log("Normale Funktion:", add(2, 3));
|
|
|
|
|
|
// Anonyme Funktion
|
|
const multiply = function(x, y) {
|
|
return x * y;
|
|
};
|
|
console.log("Anonyme Funktion:", multiply(4, 5));
|
|
|
|
|
|
// Arrow Function
|
|
const subtract = (a, b) => a - b;
|
|
console.log("Arrow Function:", subtract(10, 3));
|
|
|
|
const square = x => x * x;
|
|
console.log("Quadrat:", square(6));
|
|
|
|
const greet = (name) => {
|
|
return "Hallo " + name;
|
|
};
|
|
console.log(greet("Hans"));
|
|
|
|
|
|
// Funktionen als Parameter (Callbacks)
|
|
function doMath(a, b, operation) {
|
|
return operation(a, b);
|
|
}
|
|
|
|
// Übergabe einer anonymen Funktion
|
|
console.log("Callback anonym:", doMath(3, 4, function(x, y) {
|
|
return x + y;
|
|
}));
|
|
|
|
// Übergabe einer Arrow Function
|
|
console.log("Callback arrow:", doMath(3, 4, (x, y) => x * y));
|
|
|
|
|
|
// Higher-Order Functions mit Arrays (map)
|
|
let zahlen = [1, 2, 3, 4, 5];
|
|
|
|
// Mit anonymer Funktion
|
|
let verdoppelt = zahlen.map(function(n) {
|
|
return n * 2;
|
|
});
|
|
console.log("Verdoppelt (anonym):", verdoppelt);
|
|
|
|
// Mit Arrow Function
|
|
let verdoppeltArrow = zahlen.map(n => n * 2);
|
|
console.log("Verdoppelt (arrow):", verdoppeltArrow); |