Kuidas kontrollida funktsiooni tüüpi JavaScriptis

Allolevates ülesannetes peate määrama, kas funktsioon on defineeritud kui Function Declaration või Function Expression.

Lihtsatel juhtudel ei ole seda visuaalselt raske teha. Kuidas aga kontrollida, et olete selle õigesti teinud? Kasutage erinevust Function Declaration ja Function Expression vahel: esimesi saab kutsuda enne nende definitsiooni, teisi aga mitte.

Oletame, et meil on selline funktsioon:

javascriptlet test = function() {
  console.log('!');
}

Pöördume selle funktsiooni poole enne selle määratlemist:

javascripttest(); // väljastab vea konsooli, seega Function Expression

let test = function() {
  console.log('!');
}

Siin on veel üks näide:

javascriptfunc(); // väljastab '!', seega Function Declaration

function func() {
  console.log('!');
}

Paneme meie funktsiooni ette plussmärgi:

javascriptfunc(); // väljastab vea konsooli, seega Function Expression

+function func() {
  console.log('!');
}

Kuna ülalolev funktsioon on Function Expression ja seda ei ole omistatud ühelegi muutujale, siis seda pole võimalik kuidagi kutsuda, sest nime func järgi see ei ole kättesaadav.

Задание 1

Määrake, kas esitatud funktsioon on Function Declaration või Function Expression:

javascriptlet test = function func() {
  console.log('!');
}
Задание 2

Määrake, kas esitatud funktsioon on Function Declaration või Function Expression:

javascriptconsole.log(
  function func() {
    console.log('!');
  }
);
Задание 3

Määrake, kas esitatud funktsioon on Function Declaration või Function Expression:

javascript+function func() {
  console.log('!');
}
Задание 4

Määrake, kas esitatud funktsioon on Function Declaration või Function Expression:

javascriptfunction func() {
  console.log('!');
}