Keli IIFE iškvietimai JavaScript

Tarkime, jums pateikiama sudėtinga užduotis: padaryti kelis iškvietimo skliaustus, štai taip:

javascript(function() {
  // kažkoks kodas
})()(); // keli iškvietimo skliaustai

Jei pagalvosite, tampa akivaizdu, kad šiuo atveju iškartinės funkcijos iškvietimas turi grąžinti anoniminę funkciją, štai taip:

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

Papildykite šį kodą taip, kad jį paleidus būtų išvesta '!':

javascript(function() {
  // kažkoks kodas
})()()();
Задание 2

Papildykite šį kodą taip, kad jį paleidus būtų išvesta per parametrus perduotų skaičių suma:

javascript(function() {
  // kažkoks kodas
})(1)(2);
Задание 3

Papildykite šį kodą taip, kad jį paleidus būtų išvesta per parametrus perduotų skaičių suma:

javascript(function() {
  // kažkoks kodas
})(1)(2)(3);