Повекратни повици на IIFE во JavaScript

Да претпоставиме дека ви е дадена необична задача: да направите повеќе повикувачки загради, вака:

javascript(function() {
  // некој код
})()(); // повеќе повикувачки загради

Ако размислите, станува очигледно, дека во овој случај повикувањето функција на место мора да врати анонимна функција, вака:

javascript(function() {
  return function() {
    console.log('!');
  };
})()(); // ќе испише '!'
Задание 1

Дополнете го следниов код така што неговото стартување да испише '!':

javascript(function() {
  // некој код
})()()();
Задание 2

Дополнете го следниов код така што неговото стартување да ја испише сумата на подадените параметри-броеви:

javascript(function() {
  // некој код
})(1)(2);
Задание 3

Дополнете го следниов код така што неговото стартување да ја испише сумата на подадените параметри-броеви:

javascript(function() {
  // некој код
})(1)(2)(3);