Shprehja në të majtë të funksionit në JavaScript
Le të shqyrtojmë kodin e mëposhtëm:
+function func() {
console.log('!');
}
Siç e dini tashmë, ky funksion është një shprehje funksionale, pavarësisht nga fakti se ka caktuar një emër (ne kemi zbuluar tashmë se prania e një emri në përgjithësi nuk është një kriter). Le të heqim këtë plus - dhe marrim Function Declaration:
function func() {
console.log('!');
}
Le të vendosim + në rresht përpara
funksionit - ai përsëri do të bëhet Function Expression:
+
function func() {
console.log('!');
}
Tani pas plus vendosim numrin 1
dhe pikëpresje - funksioni ynë do të bëhet Function
Declaration:
+1;
function func() {
console.log('!');
}
Pse kështu: sepse në rreshtin e parë është shkruar nje komandë e përfunduar, e mbyllur me pikë presje. Prandaj kjo komandë nuk ndikon në asnjë mënyrë në funksionin tonë.
Në fakt, pikëpresja mund të hiqet, sepse në JavaScript ajo nuk është e detyrueshme - funksioni do të mbetet Function Expression:
+1
function func() {
console.log('!');
}
Por nëse pas 1 vendosim edhe një
plus tjetër, atëherë funksioni do të bëhet Function Expression:
+1+
function func() {
console.log('!');
}
Pse kështu: sepse në rreshtin e parë është një shprehje e papërfunduar - ka një plus dhe pas saj asgjë. Prandaj interpretuesi i JavaScript mendon se ky plus i përket rreshtit poshtë, domethënë funksionit tonë.
Nëse në rreshtin e parë është një shprehje e përfunduar, atëherë JavaScript automatikisht vendos pikëpresje dhe kjo shprehje nuk ndikon në funksionin tonë.
Përcaktoni nëse funksioni i paraqitur është Function Declaration apo Function Expression:
-
function func() {
console.log('!');
}
Përcaktoni nëse funksioni i paraqitur është Function Declaration apo Function Expression:
-1;
function func() {
console.log('!');
}
Përcaktoni nëse funksioni i paraqitur është Function Declaration apo Function Expression:
-1
function func() {
console.log('!');
}
Përcaktoni nëse funksioni i paraqitur është Function Declaration apo Function Expression:
1
function func() {
console.log('!');
}
Përcaktoni nëse funksioni i paraqitur është Function Declaration apo Function Expression:
-1-
function func() {
console.log('!');
}