Funksionet e mbivendosur në JavaScript
Le të supozojmë se kemi një funksion që pranon dy numra si parametra dhe kthen shumën e katrorëve të këtyre numrave:
function func(num1, num2) {
return num1 * num1 + num2 * num2;
}
console.log(func(2, 3)); // shfaq 13 (rezultat 2 * 2 + 3 * 3)
Le ta veçojmë operacionin e ngritjes në katror
në një funksion ndihmës square:
function square(num) {
return num * num;
}
function func(num1, num2) {
return square(num1) + square(num2);
}
console.log(func(2, 3)); // shfaq 13
Le të supozojmë se jemi të sigurt se funksioni square
do të përdoret vetëm brenda funksionit func
dhe askund tjetër.
Në këtë rast do të ishte e përshtatshme të bëhej në mënyrë të tillë që askush të mos e përdorte aksidentalisht (ju vetë ose një programues tjetër që punon së bashku me ju).
JavaScript ka një zgjidhje elegante: mund
ta vendosim funksionin tonë ndihmës square
brenda func. Në këtë rast
funksioni ynë ndihmës do të jetë i disponueshëm
vetëm brenda func, dhe jashtë - jo.
Le ta bëjmë këtë:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
console.log(func(2, 3)); // shfaq 13
Përpjekja për të thirrur square nga jashtë func
do të rezultojë në një gabim:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
console.log(square(2)); //!! do të japë një gabim
Krijoni një funksion func që do të marrë si parametra
dy numra dhe do të kthejë shumën e
katrorit të numrit të parë me kubin e numrit të dytë.
Bëni për këtë një funksion ndihmës
square, që e ngrit numrin në katror,
dhe një funksion ndihmës cube, që e ngrit numrin
në kub.