Funktsiooniväljenduse vasakul pool JavaScriptis
Vaatleme järgmist koodi:
+function func() {
console.log('!');
}
Nagu te juba teate, on see funktsioon funktsiooniväljendus, olenemata sellest, et sellel on nimi (me juba selgitasime välja, et nime olemasolu ei ole üldse kriteerium). Eemaldame selle plussimärgi - ja saame funktsiooni deklaratsiooni:
function func() {
console.log('!');
}
Paneme plussimärgi + reale enne
funktsiooni - see muutub taas funktsiooniväljenduseks:
+
function func() {
console.log('!');
}
Ja nüüd paneme plussimärgi järele numbri 1
ja semikooloni - meie funktsioon muutub funktsiooni deklaratsiooniks:
+1;
function func() {
console.log('!');
}
Miks nii: sest esimesel real on kirjutatud üks lõpetatud käsk, mis on suletud semikooloniga. Seetõttu see käsk ei mõjuta kuidagi meie funktsiooni.
Tegelikult võib semikooloni ära jätta, sest JavaScriptis see pole kohustuslik - funktsioon jääb ikkagi funktsiooni deklaratsiooniks:
+1
function func() {
console.log('!');
}
Aga kui pärast 1 panna veel üks
plussimärk, siis funktsioon muutub funktsiooniväljenduseks:
+1+
function func() {
console.log('!');
}
Miks nii: sest esimesel real on lõpetamata avaldis - seal on plussimärk ja pärast seda midagi pole. Seetõttu JavaScripti interpretaator arvab, et see plussimärk viitab allolevale reale, st meie funktsioonile.
Kui aga esimesel real on lõpetatud avaldis, siis JavaScript paneb sellele automaatselt semikooloni ja see avaldis ei mõjuta kuidagi meie funktsiooni.
Määrake, kas esitatud funktsioon on funktsiooni deklaratsioon või funktsiooniväljendus:
-
function func() {
console.log('!');
}
Määrake, kas esitatud funktsioon on funktsiooni deklaratsioon või funktsiooniväljendus:
-1;
function func() {
console.log('!');
}
Määrake, kas esitatud funktsioon on funktsiooni deklaratsioon või funktsiooniväljendus:
-1
function func() {
console.log('!');
}
Määrake, kas esitatud funktsioon on funktsiooni deklaratsioon või funktsiooniväljendus:
1
function func() {
console.log('!');
}
Määrake, kas esitatud funktsioon on funktsiooni deklaratsioon või funktsiooniväljendus:
-1-
function func() {
console.log('!');
}