Izteiksme pa kreisi no funkcijas JavaScript
Apskatīsim šādu kodu:
+function func() {
console.log('!');
}
Kā jūs jau zināt, šī funkcija ir funkcionāla izteiksme, neskatoties uz to, ka tai ir dots vārds (mēs jau noskaidrojām, ka vārda esamība nav kritērijs). Noņemsim šo plusu - un iegūsim Function Declaration:
function func() {
console.log('!');
}
Ieliksim + rindā pirms
funkcijas - tā atkal kļūs par Function Expression:
+
function func() {
console.log('!');
}
Un tagad aiz plusa ieliksim skaitli 1
un semikolu - mūsu funkcija kļūs par Function
Declaration:
+1;
function func() {
console.log('!');
}
Kāpēc tā: tāpēc ka pirmajā rindā ir uzrakstīta viena pabeigta komanda, aizvērta ar semikolu. Tāpēc šī komanda neietekmē mūsu funkciju.
Patiesībā semikolu var noņemt, jo JavaScript tas nav obligāts - funkcija jebkurā gadījumā paliks Function Declaration:
+1
function func() {
console.log('!');
}
Bet ja aiz 1 ieliekam vēl vienu
plusu, tad funkcija kļūs par Function Expression:
+1+
function func() {
console.log('!');
}
Kāpēc tā: tāpēc ka pirmajā rindā ir nepabeigta izteiksme - ir plus un aiz tā nekas. Tāpēc JavaScript interpretators uzskata, ka šis pluss attiecas uz rindu zemāk, tas ir, uz mūsu funkciju.
Ja pirmajā rindā ir pabeigta izteiksme, tad JavaScript automātiski liek tam semikolu un šī izteiksme nekādā veidā neietekmē mūsu funkciju.
Nosakiet, vai attēlotā funkcija ir Function Declaration vai Function Expression:
-
function func() {
console.log('!');
}
Nosakiet, vai attēlotā funkcija ir Function Declaration vai Function Expression:
-1;
function func() {
console.log('!');
}
Nosakiet, vai attēlotā funkcija ir Function Declaration vai Function Expression:
-1
function func() {
console.log('!');
}
Nosakiet, vai attēlotā funkcija ir Function Declaration vai Function Expression:
1
function func() {
console.log('!');
}
Nosakiet, vai attēlotā funkcija ir Function Declaration vai Function Expression:
-1-
function func() {
console.log('!');
}