Viacnásobné volania IIFE v JavaScripte

Predpokladajme, že dostanete zložitú úlohu: vytvoriť niekoľko volacích zátvoriek, takto:

javascript(function() {
  // nejaký kód
})()(); // niekoľko volacích zátvoriek

Ak sa nad tým zamyslíte, je zrejmé, že v tomto prípade musí volanie funkcie na mieste vracať anonymnú funkciu, takto:

javascript(function() {
  return function() {
    console.log('!');
  };
})()(); // vypíše '!'
Задание 1

Doplňte nasledujúci kód tak, aby jeho spustenie vypísalo '!':

javascript(function() {
  // nejaký kód
})()()();
Задание 2

Doplňte nasledujúci kód tak, aby jeho spustenie vypísalo súčet čísel odovzdaných ako parametre:

javascript(function() {
  // nejaký kód
})(1)(2);
Задание 3

Doplňte nasledujúci kód tak, aby jeho spustenie vypísalo súčet čísel odovzdaných ako parametre:

javascript(function() {
  // nejaký kód
})(1)(2)(3);