JavaScript-de ýollary parametr hökmünde geçirmek
Ýollary, sanlara, setirlere we massiwlere meňzeş, beýleki ýollaryň parametrleri hökmünde geçirilip bilner.
Amaly mysalda has giňişleýin gözden geçireýliň.
Bizde iki parametr kabul edýän test funksiýasy bolsun:
test(parametr1, parametr2);
Geliň test funksiýasynyň birinji parametrine
1 yzyna gaýtarýan anonim funksiýany geçireýliň,
ikinji parametre bolsa 2 yzyna gaýtarýan
anonim funksiýany geçireýliň:
test(
function() {return 1;},
function() {return 2;}
);
Ýokarda getirilen kod hali işleýjok, sebäbi biz funksiýanyň özüni döretmedik. Geliň muny edeliň:
function test(func1, func2) {
}
Funksiýany kesgitleýänimizde biz iki parametr görkezdik
- func1 we func2. Bu parametrler
olara näme geçiriljekdigi barada hiç zat bilemzok.
Mysal üçin, sanlary geçirip bileris:
test(1, 2); // funksiýany çagyryň
function test(func1, func2) {
console.log(func1); // 1 görkezer
console.log(func2); // 2 görkezer
}
Ýa-da ýollary geçirip bileris:
test(
function() {return 1;}, // birinji parametr
function() {return 2;} // ikinji parametr
);
function test(func1, func2) {
console.log(func1); // 'function() {return 1;}' görkezer
console.log(func2); // 'function() {return 2;}' görkezer
}
Görşüňiz ýaly, indi konsola ýollaryň çyndan koduny görkezýär. Geliň netijeleri görkezýän etmeli. Bunuň üçin ýollary ýaýly çyzyk bilen ýazalyň:
test(
function() {return 1;},
function() {return 2;}
);
function test(func1, func2) {
console.log( func1() ); // 1 görkezer
console.log( func2() ); // 2 görkezer
}
Geliň konsola birinji we ikinji funksiýanyň netijeleriniň jemini görkezeliň:
test(
function() {return 1;},
function() {return 2;}
);
function test(func1, func2) {
console.log( func1() + func2() ); // 3 görkezer
}
test funksiýasyny ýasalyň, parametrleri hökmünde
3 funksiýany kabul etsin. Oňa
birinji parametr hökmünde 1 yzyna gaýtarýan funksiýany,
ikinji - 2 yzyna gaýtarýan funksiýany,
üçünji - 3 yzyna gaýtarýan funksiýany geçiriň.
Funksiýalaryň netijeleriniň jemini konsola görkeziň.