Izraz levo od funkcije u JavaScriptu
Pogledajmo sledeći kod:
+function func() {
console.log('!');
}
Kao što već znate, ova funkcija je funkcionalni izraz, iako joj je zadato ime (već smo utvrdili da prisustvo imena uopšte nije kriterijum). Uklonimo ovaj plus - i dobićemo Function Declaration:
function func() {
console.log('!');
}
Stavimo + u prethodnom redu ispred
funkcije - opet će postati Function Expression:
+
function func() {
console.log('!');
}
A sada posle plusa stavimo broj 1
i tačku-zarez - naša funkcija će postati Function
Declaration:
+1;
function func() {
console.log('!');
}
Zašto: zato što je u prvom redu napisana jedna završena komanda, zatvorena tačkom sa zarezom. Stoga ova komanda ni na koji način ne utiče na našu funkciju.
Zapravo, tačku-zarez možemo ukloniti, jer u JavaScriptu nije obavezna - funkcija će svakako ostati Function Declaration:
+1
function func() {
console.log('!');
}
Ako posle 1 ubacimo još jedan
plus, funkcija će postati Function Expression:
+1+
function func() {
console.log('!');
}
Zašto: zato što u prvom redu stoji nezavršeni izraz - stoji plus i posle njega ništa. Stoga JavaScript interpretator računa da se ovaj plus odnosi na red ispod, odnosno na našu funkciju.
Ako u prvom redu stoji završeni izraz, onda JavaScript automatski stavlja njemu tačku-zarez i ovaj izraz ni na koji način 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('!');
}