JavaScript functiedefinities

JavaScript-functies worden gedefinieerd met het function sleutelwoord.

u kunt een functiedeclaratie of een functieuitdrukking gebruiken.

functie declaraties

eerder in deze tutorial heb je geleerd dat functies gedeclareerd worden met de volgende syntaxis:

functie functienaam (parameters) {
/ / uit te voeren code
}

gedeclareerde functies worden niet onmiddellijk uitgevoerd. Ze worden “opgeslagen voor later gebruik”, en zullen later worden uitgevoerd, wanneer ze worden aangeroepen (opgeroepen).

voorbeeld

functie myFunction (a, b) {
geef a * b Terug;
}

probeer het zelf “

puntkomma ‘ s worden gebruikt om uitvoerbare Javascript-statements te scheiden.
omdat een functiedeclaratie geen uitvoerbaar statement is, is het niet gebruikelijk om het te beëindigen met een puntkomma.

functie-expressies

een JavaScript-functie kan ook worden gedefinieerd met behulp van een expressie.

een functie-expressie kan worden opgeslagen in een variabele:

voorbeeld

var x = function (a, b) {return a * b};

probeer het zelf “

nadat een functie-expressie is opgeslagen in een variabele, kan de variabele worden gebruikt als een functie:

voorbeeld

var x = function(a, b) {return a * b};
var z = x (4, 3);

probeer het zelf ”

de bovenstaande functie is eigenlijk een anonieme functie (een functie zonder naam).

In variabelen opgeslagen functies hebben geen functienamen nodig. Ze worden altijd aangeroepen (aangeroepen) met behulp van de variabele naam.

de functie hierboven eindigt met een puntkomma omdat het een deel is van een uitvoerbaar statement.

de Function () Constructor

zoals u in de vorige voorbeelden hebt gezien, worden JavaScript-functies gedefinieerd met het function sleutelwoord.

functies kunnen ook worden gedefinieerd met een ingebouwde JavaScript-functieconstructor genaamd Function().

voorbeeld

var myFunction = new Function (“a”,” b”,”return a * b”);
var x = myFunction (4, 3);

probeer het zelf ”

u hoeft de Function constructor eigenlijk niet te gebruiken. Het voorbeeld hierboven is hetzelfde als schrijven:

voorbeeld

var myFunction = function (a, b) {return a * b};
var x = myFunction (4, 3);

probeer het zelf ”

meestal kunt u het gebruik van het new sleutelwoord in JavaScript vermijden.

functie hijsen

eerder in deze tutorial, leerde u over “hijsen” (Javascript hijsen).

hijsen is JavaScript ‘ s standaard gedrag van het verplaatsen van declaraties naar de top van de huidige scope.

hijsen is van toepassing op variabele aangiften en op functionele aangiften.

hierdoor kunnen JavaScript-functies worden aangeroepen voordat ze worden gedeclareerd:

mijnfunctie (5);
functie mijnfunctie (y) {
geef y * y terug;
}

functies gedefinieerd met behulp van een expressie worden niet gehesen.

Zelfaanroepende functies

functie-expressies kunnen “zelfaanroepend”worden gemaakt.

een zelfaanroepende expressie wordt automatisch aangeroepen (gestart), zonder aangeroepen te worden.

functie-expressies worden automatisch uitgevoerd als de expressie wordt gevolgd door ().

u kunt een functiedeclaratie niet zelf aanroepen.

u moet haakjes toevoegen rond de functie om aan te geven dat het een functie-expressie is:

voorbeeld

(function () {
var x = ” Hallo!!”; / / I will call myself
})();

probeer het zelf ”

de bovenstaande functie is eigenlijk een anonieme zelfaanroepende functie (functie zonder naam).

functies kunnen worden gebruikt als waarden

JavaScript-functies kunnen worden gebruikt als waarden:

voorbeeld

functie mijnfunctie(a, b) {
geef a * b;
}
var x = mijnfunctie (4, 3);

probeer het zelf ”

JavaScript-functies kunnen worden gebruikt in expressies:

voorbeeld

functie mijnfunctie (a, b) {
geef a * b;
}
var x = mijnfunctie(4, 3) * 2;

functies zijn objecten

de typeof operator in JavaScript geeft “functie” voor functies terug.

maar JavaScript-functies kunnen het best worden omschreven als objecten.

JavaScript-functies hebben zowel eigenschappen als methoden.

de eigenschap arguments.length geeft het aantal ontvangen argumenten terug toen de functie werd aangeroepen:

voorbeeld

function myFunction (a, b) {
return argumenten.length;
}

probeer het zelf ”

de methode toString() geeft de functie terug als een tekenreeks:

voorbeeld

function myFunction (a, b) {
retourneer a * b;
}
var txt = myFunction.toString ();

probeer het zelf ”

een functie gedefinieerd als de eigenschap van een object, wordt een methode voor het object genoemd.
een functie die ontworpen is om nieuwe objecten te maken, wordt een objectconstructor genoemd.

Pijlfuncties

Pijlfuncties maken een korte syntaxis mogelijk voor het schrijven van functie-expressies.

u hebt het function sleutelwoord, het return sleutelwoord en de accolades niet nodig.

voorbeeld

/ / ES5
var x = function (x, y) {
return x * y;
}
// ES6
const x = (x, y) = > x * y;

probeer het zelf ”

Pijlfuncties hebben hun eigen thisniet.Ze zijn niet goed geschikt voor het definiëren van objectmethoden.

Pijlfuncties worden niet gehesen. Ze moeten worden gedefinieerd voordat ze worden gebruikt.

het gebruik van constis veiliger dan het gebruik van var, omdat een functie-expressie altijd een constante waarde is.

u kunt het sleutelwoord return en de accolades alleen weglaten als de functie één statement is. Hierdoor is het misschien een goede gewoonte om ze altijd te houden:

voorbeeld

const x = (x, y) = > { return x * y };

probeer het zelf ”

Arrow-functies worden niet ondersteund in IE11 of eerder.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.

More: