Expressie links van functie in JavaScript
Laten we de volgende code bekijken:
+function func() {
console.log('!');
}
Zoals je al weet, is deze functie een functionele expressie, ondanks dat deze een naam heeft gekregen (we hebben al vastgesteld dat de aanwezigheid van een naam überhaupt geen criterium is). Haal dit plusteken weg - en je krijgt een Function Declaration:
function func() {
console.log('!');
}
Laten we + op de regel vóór
de functie zetten - het wordt weer een Function Expression:
+
function func() {
console.log('!');
}
En laten we nu na het plusteken het getal 1
en een puntkomma zetten - onze functie wordt een Function
Declaration:
+1;
function func() {
console.log('!');
}
Waarom is dat zo: omdat op de eerste regel één voltooide opdracht staat, afgesloten met een puntkomma. Daarom heeft deze opdracht geen invloed op onze functie.
Eigenlijk kan de puntkomma worden weggelaten, aangezien deze in JavaScript niet verplicht is - de functie blijft toch een Function Declaration:
+1
function func() {
console.log('!');
}
Maar als je na 1 nog een
plusteken plaatst, wordt de functie een Function Expression:
+1+
function func() {
console.log('!');
}
Waarom is dat zo: omdat op de eerste regel een onvoltooide expressie staat - er staat een plusteken en daarna niets. Daarom denkt de JavaScript-interpreter dat dit plusteken betrekking heeft op de regel eronder, dat wil zeggen op onze functie.
Als er op de eerste regel een voltooide expressie staat, plaatst JavaScript er automatisch een puntkomma achter en deze expressie heeft geen invloed op onze functie.
Bepaal of de gepresenteerde functie een Function Declaration of een Function Expression is:
-
function func() {
console.log('!');
}
Bepaal of de gepresenteerde functie een Function Declaration of een Function Expression is:
-1;
function func() {
console.log('!');
}
Bepaal of de gepresenteerde functie een Function Declaration of een Function Expression is:
-1
function func() {
console.log('!');
}
Bepaal of de gepresenteerde functie een Function Declaration of een Function Expression is:
1
function func() {
console.log('!');
}
Bepaal of de gepresenteerde functie een Function Declaration of een Function Expression is:
-1-
function func() {
console.log('!');
}