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. გამოიტანეთ შედეგი.