JavaScript-ում փոխանցվող ֆունկցիաների պարամետրերը

Ենթադրենք ունենք test ֆունկցիա, որն որպես պարամետր ընդունում է մեկ այլ ֆունկցիա և կոնսոլում արտածում է այդ փոխանցված ֆունկցիայի աշխատանքի արդյունքը.

javascriptfunction test(func) {
  console.log( func() );
}

Ենթադրենք փոխանցված func ֆունկցիան պարամետրով ընդունում է թիվ և ինչ-որ բան անում դրա հետ: Փոխանցենք դրան, օրինակ, 3 թիվը.

javascriptfunction test(func) {
  console.log( func(3) );
}

Այժմ եկեք կանչենք test ֆունկցիան, նրան որպես պարամետր փոխանցելով անանուն ֆունկցիա: Այս անանուն ֆունկցիան պարամետրով կընդունի թիվ և կվերադարձնի այդ թվի քառակուսին:

Այս ամենի արդյունքում մեր կոնստրուկցիան կարտածի 3 թվի քառակուսին, այսինքն 9.

javascript// Կարտածի 9.
test(
  function(num) {
    return num * num;
  }
);

function test(func) {
  console.log(func(3));
}

Եկեք ավելի նրբագեղ ձևակերպենք կոդը.

javascript// Կարտածի 9.
test(function(num) {
  return num * num;
});

function test(func) {
  console.log(func(3));
}
Задание 1

Պատճենեք իմ test ֆունկցիայի կոդը: Կանչեք այս ֆունկցիան, նրան որպես պարամետր փոխանցելով անանուն ֆունկցիա, որն պարամետրով կընդունի թիվ և կվերադարձնի դրա խորանարդը:

Задание 2

Փոխակերպեք ձեր կոդն այնպես, որ փոխանցվող ֆունկցիան լինի ոչ թե անանուն, այլ սահմանված որպես Function Declaration func անունով:

Задание 3

Փոխակերպեք փոխանցվող ֆունկցիան Function Expression-ի նույն func անունով:

Задание 4

Ենթադրենք փոխանցվող ֆունկցիան այժմ ընդունում է երկու պարամետր և վերադարձնում է դրանց գումարը: test-ի ներսում փոխանցվող ֆունկցիան կանչելիս փոխանցվող ֆունկցիային փոխանցեք 2 թիվը և 3 թիվը: Արտածեք արդյունքը: