Ծրագրավորված ֆունկցիաները JavaScript-ում

Ենթադրենք, մենք ունենք ֆունկցիա, որը պարամետրով ընդունում է երկու թիվ և վերադարձնում է այդ թվերի քառակուսիների գումարը.

javascriptfunction func(num1, num2) {
  return num1 * num1 + num2 * num2;
}

console.log(func(2, 3)); // կարտածի 13 (արդյունքը 2 * 2 + 3 * 3)

Եկեք քառակուսի բարձրացման գործողությունը տեղափոխենք օժանդակ square ֆունկցիայի մեջ.

javascriptfunction square(num) {
  return num * num;
}

function func(num1, num2) {
  return square(num1) + square(num2);
}

console.log(func(2, 3)); // կարտածի 13

Ենթադրենք, մենք վստահ ենք, որ square ֆունկցիան կօգտագործվի միայն func ֆունկցիայի մեջ և ոչ մի այլ տեղ։

Այս դեպքում հարմար կլիներ անել այնպես, որ ոչ ոք պատահաբար չօգտագործի այն (դուք ինքներդ կամ ձեր հետ աշխատող մեկ այլ ծրագրավորող)։

JavaScript-ում կա նրբագեղ լուծում. կարելի է մեր օժանդակ square ֆունկցիան տեղադրել func-ի ներսում։ Այս դեպքում մեր օժանդակ ֆունկցիան հասանելի կլինի միայն func-ի ներսում, իսկ դրսից՝ ոչ։

Եկեք անենք դա.

javascriptfunction func(num1, num2) {
  function square(num) {
    return num * num;
  }
  
  return square(num1) + square(num2);
}

console.log(func(2, 3)); // կարտածի 13

square-ը դրսից կանչելու փորձը կհանգեցնի սխալի.

javascriptfunction func(num1, num2) {
  function square(num) {
    return num * num;
  }
  
  return square(num1) + square(num2);
}

console.log(square(2)); //!! կտա սխալ
Задание 1

Ստեղծեք func ֆունկցիան, որն պարամետրով կընդունի երկու թիվ, իսկ կվերադարձնի առաջին թվի քառակուսու և երկրորդ թվի խորանարդի գումարը։ Դրա համար ստեղծեք օժանդակ square ֆունկցիան, որն թիվը բարձրացնում է քառակուսի, և օժանդակ cube ֆունկցիան, որն թիվը բարձրացնում է խորանարդ։