Višestruki pozivi IIFE u JavaScript-u

Pretpostavimo da vam postave lukav zadatak: napraviti više pozivajućih zagrada, ovako:

javascript(function() {
  // neki kod
})()(); // višestruke pozivajuće zagrade

Ako razmislite, postaje očigledno, da u ovom slučaju pozivanje funkcije na mestu mora vraćati anonimnu funkciju, ovako:

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

Dopunite sledeći kod tako da njegovo pokretanje ispisuje '!':

javascript(function() {
  // neki kod
})()()();
Задание 2

Dopunite sledeći kod tako da njegovo pokretanje ispisuje zbir prosleđenih brojeva kao parametre:

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

Dopunite sledeći kod tako da njegovo pokretanje ispisuje zbir prosleđenih brojeva kao parametre:

javascript(function() {
  // neki kod
})(1)(2)(3);