JavaScript'теги анонимдик функциялар менен массив
Мен мурда эскертип кеткенмин, JavaScript'теги функциялар жип же сандар сыяктуу мамиле кылышат. Айрыкча, функциялардан турган массив түзүүгө болот. Келгиле, түзөлү:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
Келгиле, мисалы, массивдин нөлдүнчү элементинин мазмунун консольго чыгаралы:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
console.log(arr[0]); // биринчи функциянын баштапкы коду көрүнөт
Жогорудагы мисалда көрүнүп тургандай, биз функциянын натыйжасын эмес, анын баштапкы кодуна ээ болобуз.
Функциянын чакырылышы үчүн, ага тегерек кашаа кошуу керек.
Биздин функциябыз arr[0] ичинде сакталгандыктан,
тегерек кашааларды бурчтук кашаалардан кийин жазгыла,
ушундай: arr[0](). Текшерип көрөлү:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
arr[0](); // '1' чыгарат
Ошондой эле, функциялар менен массивди цикл менен аралап, ар бир функцияны ушул циклдин ичинде чакырууга болот:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
for (let func of arr) {
func(); // циклде биздин функцияларды чакырабыз
}
Үч функциядан турган arr массивин түзгүлө.
Биринчиси return аркылуу 1 санын кайтарсын,
экинчиси - 2 санын,
үчүнчүсү - 3 санын.
Сиз түзгөн arr массивин колдонуп,
тиешелүү функцияны чакырып, консольго 3 санын чыгарыңыз.
Сиз түзгөн arr массивин колдонуп,
функциялардын натыйжаларынын суммасын табыңыз (циклсиз).
Сиз түзгөн arr массивин цикл менен аралап,
бардык функциялардын ишинен чыккан натыйжаларды консольго чыгарыңыз.