JavaScript'те функцияларды параметр катары өткөрүү
Функциялар, сандар, саптар жана массивдер сыяктуу эле, башка функцияларга параметр катары өткөрүлө алат.
Келгиле, практикалык мисалда такыраак карап чыгалы.
Бизде эки параметр кабыл алган test функциясы бар деп коёлу:
test(параметр1, параметр2);
Келгиле, test функциясынын биринчи параметрине
1 кайтара турган анонимдик функцияны,
экинчи параметрине болсо 2 кайтара турган
анонимдик функцияны өткөрөлү:
test(
function() {return 1;},
function() {return 2;}
);
Жогоруда келтирилген код азырынча иштебейт, анткени биз функциянын өзүн түзгөн жокпуз. Аны түзөлү:
function test(func1, func2) {
}
Функцияны аныктаганда биз эки параметр көрсөттүк
- func1 жана func2. Бул параметрлер
аларга эмне өткөрүлөрү жөнүндө эч нерсе билбейт.
Мисалы, сандарды өткөрсөк болот:
test(1, 2); // функцияны чакырабыз
function test(func1, func2) {
console.log(func1); // 1 чыгарат
console.log(func2); // 2 чыгарат
}
Же функцияларды өткөрсөк болот:
test(
function() {return 1;}, // биринчи параметр
function() {return 2;} // экинчи параметр
);
function test(func1, func2) {
console.log(func1); // 'function() {return 1;}' чыгарат
console.log(func2); // 'function() {return 2;}' чыгарат
}
Көрүнүп тургандай, азыр консолго функциялардын баштапкы коду чыгарылууда. Келгиле, алардын натыйжаларын чыгарыш үчүн жасап көрөлү. Бул үчүн функцияларга тегерек кашаа коёлу:
test(
function() {return 1;},
function() {return 2;}
);
function test(func1, func2) {
console.log( func1() ); // 1 чыгарат
console.log( func2() ); // 2 чыгарат
}
Келгиле, консолго биринчи жана экинчи функциялардын натыйжаларынын суммасын чыгаралы:
test(
function() {return 1;},
function() {return 2;}
);
function test(func1, func2) {
console.log( func1() + func2() ); // 3 чыгарат
}
3 функцияны параметр катары кабыл алган
test функциясын жасаңыз. Ага биринчи параметр
катары 1 кайтара турган функцияны, экинчисине -
2 кайтара турган функцияны, үчүнчүсүнө -
3 кайтара турган функцияны өткөрүңүз.
Функциялардын натыйжаларынын суммасын консолго чыгарыңыз.