Параметрҳои функсияи баргардонидашуда дар JavaScript

Ба фарохонӣҳои функсияҳое, ки мо омӯхтем, метавон параметрҳо фиристод. Дар мисоли зер функсияи дарунӣ сатрро ҳамчун параметр интизор аст ва онро дар консол чоп мекунад:

javascriptfunction func() {
  return function(str) {
    return str;
  };
}

Функсияи дарунӣ ба қавси дуюм дар вақти фарохонӣ мувофиқат мекунад, яъне ба ин қавси дуюм сатрҳои дилхоҳро мефиристем:

javascriptfunction func() {
  return function(str) {
    return str;
  };
}

console.log( func()('!') ); // '!'-ро чоп мекунад

Биёед ба тавре созем, ки ҳам функсияи аввал параметр қабул кунад, ҳам функсияи дуюм. Ва натиҷаи фарохонӣро ҷамъи ин параметрҳо созем:

javascriptfunction func(num1) {
  return function(num2) {
    return num1 + num2;
  };
}

console.log( func(1)(2) ); // 3-ро чоп мекунад
Задание 1

Функсияи func-ро созед, ки ҳангоми фарохонӣ чунин: func(2)(3)(4), ҷамъи ададҳои фиристодашударо ҳамчун параметр баргардонад.

Задание 2

Функсияи func-ро созед, ки ҳангоми фарохонӣ чунин: func(2)(3)(4)(5)(), массивҳои ададҳои фиристодашударо ҳамчун параметр баргардонад.