JavaScript-de berilýän funksiýalaryň parametrleri

Bizde <test> funksiýasy bolsun, ol parametr hökmünde başga bir funksiýany kabul edýär we konsola şol berlen funksiýanyň işiniň netijesini çykarýar:

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

Berlen <func> funksiýasy parametr hökmünde san kabul edýär we onuň bilen bir zat edýär. Ona mysal üçin, <3> sanyny bereliň:

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

Indi <test> funksiýasyny çagyralyň, ona parametr hökmünde anonim funksiýa berip. Bu anonim funksiýa parametr hökmünde san kabul eder we şol sanyň kwadratyny yzyna gaytarar.

Şunyň netijesinde bizim konstruksiýamyz <3> sanyň kwadratyny, ýagny <9> sanyny çykarar:

javascript// 9-ny çykarar:
test(
  function(num) {
    return num * num;
  }
);

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

Kody has owadan bejeriň:

javascript// 9-ny çykarar:
test(function(num) {
  return num * num;
});

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

Meniň <test> funksiýamyň kodyny göçüriň. Bu funksiýany çagyryň, ona parametr hökmünde anonim funksiýa beriň, şol funksiýa parametr hökmünde san kabul etmeli we onuň kubyňy yzyna gaytarmaly.

Задание 2

Kodyňyzy şeýle üýtgediň, berilýän funksiýa anonim däl, <func> ady bilen Function Declaration hökmünde kesgitlensin.

Задание 3

Berilýän funksiýany şol bir <func> ady bilen Function Expression-a üýtgediň.

Задание 4

Indi berilýän funksiýa iki parametr kabul etsin we olaryň jemini yzyna gaytarsyn. <test> içinde berilýän funksiýany çagyran wagtyňyzda berilýän funksiýa <2> sanyny we <3> sanyny beriň. Netijäni çykaryň.