JavaScript Magie

Datum
05.10.2019

Kleine Sammlung was JavaScript so alles kann.

Funktion als return

function Samstag() {
    return () => alert("Moin");
}
Samstag()();
function startHealthCheck() {
  const id = setInterval( () => console.log("i'm alive", 200) );
  return () => clearInterval(id);
}

const stopIt = startHealthCheck();
setTimeout(() => stopIt(), 3000);

danke an https://twitter.com/nilshartmann

Funktion als Parameter mit zusätzlichen Argumenten

function Sonntag(f) { 
  return (...args) => {
    console.log("called", args);
    let result = f(...args);
    console.log("called", args, ", returned", result);
    return result;
  };
}
Sonntag(Math.min)(3, 2, 1)

Funktionen Zwischenspeichern

let Montag = () => {
  console.log("Moin");
}

let MontagClone = Montag;

Montag = () => {
  console.log("Hello");
  MontagClone();
}

Montag();
Montag = MontagClone;
Montag();

rekursive Funktionen

function factorial(n) { 
  if (n == 0) { 
    return 1; 
  } else { 
    return factorial(n - 1) * n; 
  } 
}

factorial(8)

Array Wandler

const Dienstag = (...nummern) => (nummern);
Dienstag(1,2,3);
[1,2,3]

Summe der Argumente multipliziert mit Argument

const Mittwoch = a => { return (...args) => { return a * args.reduce((b, c) => b + c) }};
Mittwoch(4)(10,15);
100

Rekursion mit abbruch Funktion

const a = b => { 
  return c => {
    return (c(b)) ? a(b * b)(c) : b
  }
};

Easymode

const func = function(number) { 
  return function(argFunc) {
    if(argFunc(number)) {
      return func(number * number)(argFunc);
    } else {
      return number;
    }
  }
};
func(5)(function(number){
  return number < 50
});
625

Hardmode

const a = b => c => (c(b)) ? a(b * b)(c) : b;
a(5)(b => b < 50);
625

Danke an Baller Hans.

Hast du noch ein lustiges Script das hier aufgeführt werden sollte? Kommentar bitte

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kommentare anschauen
Boolie Startseite öffnen folge Boolie auf Twitter folge Boolie auf Instagram
Kommentare (1)
Jens Vogt

Interessante Sammlung hast du da, da lernt man was bei. Danke!

sehr gutes Webhosting Manitu
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Ok mehr Informationen