Vigezo vya Kazi zinazopitishwa katika JavaScript
Hebu tuchukulie tuna kazi test ambayo
inapokea kazi nyingine kama kigezo na inatoa matokeo
ya kazi hiyo iliyopitishwa kwenye koni:
function test(func) {
console.log( func() );
}
Hebu kazi iliyopitishwa func ipokee nambari
kama kigezo na ifanye kitu nayo. Tuitapishe,
kwa mfano, nambari 3:
function test(func) {
console.log( func(3) );
}
Sasa hebu tuite kazi test,
ukimpa kazi isiyo na jina kama kigezo.
Kazi hii isiyo na jina itapokea nambari
kama kigezo na kurudisha mraba wa nambari hiyo.
Kwa matokeo ya yote hii muundo wetu
utatoa mraba wa nambari 3, yaani 9:
// Itatoa 9:
test(
function(num) {
return num * num;
}
);
function test(func) {
console.log(func(3));
}
Tuandae msimbo kwa urembo zaidi:
// Itatoa 9:
test(function(num) {
return num * num;
});
function test(func) {
console.log(func(3));
}
Nakili msimbo wa kazi yangu test.
Iita kazi hii, ukiipitishia kazi isiyo na jina
kama kigezo, ambayo itapokea nambari kama kigezo
na kurudisha mchemraba wake.
Badilisha msimbo wako ili kazi inayopitishwa
isije kuwa isiyo na jina, bali ifafanuliwe
kama Function Declaration kwa jina func.
Badilisha kazi inayopitishwa kuwa Function
Expression kwa jina lile lile func.
Hebu kazi inayopitishwa sasa ipokee
vigezo viwili na irudishe jumla yao.
Wakati wa kuita kazi inayopitishwa ndani ya test
pitisha kwenye kazi inayopitishwa nambari 2
na nambari 3. Toa matokeo.