Mehrfache Aufrufe von IIFE in JavaScript

Nehmen wir an, man stellt Ihnen eine knifflige Aufgabe: mehrere aufrufende Klammern zu machen, etwa so:

javascript(function() {
  // irgendein Code
})()(); // mehrere aufrufende Klammern

Wenn man darüber nachdenkt, wird es offensichtlich, dass der sofortige Funktionsaufruf in diesem Fall eine anonyme Funktion zurückgeben muss, etwa so:

javascript(function() {
  return function() {
    console.log('!');
  };
})()(); // gibt '!' aus
Задание 1

Vervollständigen Sie den folgenden Code so, dass sein Aufruf '!' ausgibt:

javascript(function() {
  // irgendein Code
})()()();
Задание 2

Vervollständigen Sie den folgenden Code so, dass sein Aufruf die Summe der als Parameter übergebenen Zahlen ausgibt:

javascript(function() {
  // irgendein Code
})(1)(2);
Задание 3

Vervollständigen Sie den folgenden Code so, dass sein Aufruf die Summe der als Parameter übergebenen Zahlen ausgibt:

javascript(function() {
  // irgendein Code
})(1)(2)(3);