Жабылуулар жана JavaScriptте функцияны ошол жерден чакыруу
Силер мурунтан эле билесиздер, атсыз функцияны ошол жерден чакырып, анын иштөө натыйжасын бир өзгөрмөгө тапшырууга болот:
let result = function() {
return '!';
}();
console.log(result); // '!' чыгарат
Көбүнчө, ошол жерден чакырылуучу функцияны мындай учурда тегерек кашаага алышат, бирок буга муктаж эмес. Муну функция ошол жерден чакырылаары дароо көрүнүшү үчүн жасашат:
let result = (function() {
return '!';
})();
console.log(result); // '!' чыгарат
Эми, ошол жерден чакырылган функциянын натыйжасы атсыз функция болсун:
let func = (function() {
return function() {
console.log('!');
}
})();
func(); // '!' чыгарат
Кайтарылуучу функция жабылууда num өзгөрмөсүн
сакташы үчүн кылалы:
let func = (function() {
let num = 1;
return function() {
console.log(num);
}
})();
Эгер дагы num++ кошсок, анда
func функциясы даяр санаарыга айланат:
let func = (function() {
let num = 1;
return function() {
console.log(num);
num++;
}
})();
func(); // 1 чыгарат
func(); // 2 чыгарат
func(); // 3 чыгарат
func(); // 4 чыгарат
func(); // 5 чыгарат
Менин кодумга карабастан, өзүңүз ушул сыяктуу санаарын ишке ашырыңыз.
Санаарын иштетүүнү өзгөртүңүз, анын
5 чейин санап, андан кийин эсептөө
баштан башталсын.