Expresia din stânga funcției în JavaScript
Să luăm în considerare următorul cod:
+function func() {
console.log('!');
}
După cum știți deja, această funcție este o expresie funcțională, în ciuda faptului că are un nume (am aflat deja că prezența unui nume nu este un criteriu). Dacă eliminăm acest plus - obținem o Declarație de Funcție (Function Declaration):
function func() {
console.log('!');
}
Să punem + pe linia înaintea
funcției - va deveni din nou o Expresie Funcțională (Function Expression):
+
function func() {
console.log('!');
}
Și acum după plus să punem numărul 1
și punct și virgulă - funcția noastră va deveni o Declarație de Funcție (Function Declaration):
+1;
function func() {
console.log('!');
}
De ce se întâmplă asta: pentru că pe prima linie este scrisă o comandă completă, încheiată cu punct și virgulă. Prin urmare, această comandă nu afectează funcția noastră.
De fapt, punctul și virgula pot fi eliminate, deoarece în JavaScript nu sunt obligatorii - funcția va rămâne tot o Declarație de Funcție (Function Declaration):
+1
function func() {
console.log('!');
}
Dar dacă după 1 mai adăugăm încă un
plus, atunci funcția va deveni o Expresie Funcțională (Function Expression):
+1+
function func() {
console.log('!');
}
De ce se întâmplă asta: pentru că pe prima linie este o expresie neterminată - există un plus și după el nimic. Prin urmare, interpretul JavaScript consideră că acest plus se referă la linia de mai jos, adică la funcția noastră.
Dacă pe prima linie se află o expresie terminată, atunci JavaScript pune automat punct și virgulă și această expresie nu afectează funcția noastră.
Determinați dacă funcția prezentată este o Declarație de Funcție (Function Declaration) sau o Expresie Funcțională (Function Expression):
-
function func() {
console.log('!');
}
Determinați dacă funcția prezentată este o Declarație de Funcție (Function Declaration) sau o Expresie Funcțională (Function Expression):
-1;
function func() {
console.log('!');
}
Determinați dacă funcția prezentată este o Declarație de Funcție (Function Declaration) sau o Expresie Funcțională (Function Expression):
-1
function func() {
console.log('!');
}
Determinați dacă funcția prezentată este o Declarație de Funcție (Function Declaration) sau o Expresie Funcțională (Function Expression):
1
function func() {
console.log('!');
}
Determinați dacă funcția prezentată este o Declarație de Funcție (Function Declaration) sau o Expresie Funcțională (Function Expression):
-1-
function func() {
console.log('!');
}