Mbylljet dhe Thirrja e Funksionit në Vend në JavaScript

Siç e dini tashmë, mund të thirrni një funksion anonim në vend dhe t'i caktoni rezultatin e punës ndonjë ndryshoreje:

javascriptlet result = function() {
  return '!';
}();

console.log(result); // do të shfaqë '!'

Shpesh funksionin që thirret në vend, në raste të tilla e vendosin në kllapa të rrumbullakëta, edhe pse kjo nuk është e nevojshme. Kjo bëhet në mënyrë që menjëherë të duket qartë se funksioni thirret në vend:

javascriptlet result = (function() {
  return '!';
})();

console.log(result); // do të shfaqë '!'

Le të bëjmë që rezultati i funksionit të thirrur në vend të jetë një funksion anonim:

javascriptlet func = (function() {
  return function() {
    console.log('!');
  }
})();

func(); // do të shfaqë '!'

Le ta bëjmë që funksioni i kthyer të ruajë në mbyllje ndryshoren num:

javascriptlet func = (function() {
  let num = 1;
  
  return function() {
    console.log(num);
  }
})();

Nëse shtoni edhe num++, atëherë funksioni func do të bëhet një numërues i gatshëm:

javascriptlet func = (function() {
  let num = 1;
  
  return function() {
    console.log(num);
    num++;
  }
})();

func(); // do të shfaqë 1
func(); // do të shfaqë 2
func(); // do të shfaqë 3
func(); // do të shfaqë 4
func(); // do të shfaqë 5
Задание 1

Pa parë në kodin tim, realizoni vetë një numërues të ngjashëm.

Задание 2

Modifikoni funksionimin e numëruesit në mënyrë që ai të numërojë deri në 5, dhe pastaj numërimi të fillojë përsëri nga fillimi.