Izraz sa leve strane funkcije u JavaScript-u
Pogledajmo sledeći kod:
+function func() {
console.log('!');
}
Kao što već znate, ova funkcija je funkcionalni izraz, uprkos tome što ima ime (već smo otkrili da prisustvo imena uopšte nije kriterijum). Uklonimo ovaj plus - i dobićemo Function Declaration:
function func() {
console.log('!');
}
Postavimo + na liniji ispred
funkcije - opet će postati Function Expression:
+
function func() {
console.log('!');
}
A sada posle plusa stavimo broj 1
i tačku sa zarezom - naša funkcija će postati Function
Declaration:
+1;
function func() {
console.log('!');
}
Zašto je tako: zato što je na prvoj liniji napisana jedna završena komanda, zatvorena tačkom sa zarezom. Stoga ova komanda nikako ne utiče na našu funkciju.
Zapravo, tačku sa zarezom možemo ukloniti, pošto u JavaScript-u nije obavezna - funkcija će ipak ostati Function Declaration:
+1
function func() {
console.log('!');
}
Ako posle 1 ubacimo još jedan
plus, onda će funkcija postati Function Expression:
+1+
function func() {
console.log('!');
}
Zašto je tako: zato što je na prvoj liniji nezavršeni izraz - stoji plus i posle njega ništa. Zato JavaScript interpreter računa da se ovaj plus odnosi na liniju ispod, odnosno na našu funkciju.
Ako je na prvoj liniji završeni izraz, onda JavaScript automatski stavlja njemu tačku sa zarezom i taj izraz nikako ne utiče na našu funkciju.
Odredite da li je predstavljena funkcija Function Declaration ili Function Expression:
-
function func() {
console.log('!');
}
Odredite da li je predstavljena funkcija Function Declaration ili Function Expression:
-1;
function func() {
console.log('!');
}
Odredite da li je predstavljena funkcija Function Declaration ili Function Expression:
-1
function func() {
console.log('!');
}
Odredite da li je predstavljena funkcija Function Declaration ili Function Expression:
1
function func() {
console.log('!');
}
Odredite da li je predstavljena funkcija Function Declaration ili Function Expression:
-1-
function func() {
console.log('!');
}