Чаҳорӯи хурдаи IIFE-ҳо дар JavaScript

Фарз кунем, ки ба шумо масъалаи мураккаберо пешниҳод мекунанд: сохтани якчанд қавсҳои даъваткунанда, ба ин тавр:

javascript(function() {
  // баъзе рамз
})()(); // якчанд қавсҳои даъваткунанда

Агар андеша кунед, падидор мешавад, ки дар ин ҳолат даъвати функсияи ҳозиразамон бояд як функсияи номаълумро баргардонад, ба ин тавр:

javascript(function() {
  return function() {
    console.log('!');
  };
})()(); // '!'-ро чоп мекунад
Задание 1

Рамзи зерро ба тавре пур кунед, ки оғози он '!'-ро чоп кунад:

javascript(function() {
  // баъзе рамз
})()()();
Задание 2

Рамзи зерро ба тавре пур кунед, ки оғози он ҷамъи ададҳои додашуда ҳамчун параметрҳоро чоп кунад:

javascript(function() {
  // баъзе рамз
})(1)(2);
Задание 3

Рамзи зерро ба тавре пур кунед, ки оғози он ҷамъи ададҳои додашуда ҳамчун параметрҳоро чоп кунад:

javascript(function() {
  // баъзе рамз
})(1)(2)(3);