Mitmed IIFE väljakutsed JavaScriptis

Oletame, et teile pakutakse keerulist ülesannet: teha mitu väljakutse sulgu, nagu näiteks nii:

javascript(function() {
  // mingi kood
})()(); // mitu väljakutse sulgu

Kui järele mõelda, saab selgeks, et sellisel juhul peab koheselt välja kutsutav funktsioon tagastama anonüümse funktsiooni, nagu näiteks nii:

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

Viige järgnev kood lõpuni nii, et selle käivitamine väljastaks '!':

javascript(function() {
  // mingi kood
})()()();
Задание 2

Viige järgnev kood lõpuni nii, et selle käivitamine väljastaks parameetritena antud arvude summa:

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

Viige järgnev kood lõpuni nii, et selle käivitamine väljastaks parameetritena antud arvude summa:

javascript(function() {
  // mingi kood
})(1)(2)(3);