JavaScript Function Call
- Vorige pagina JS Functie Parameters
- Volgende pagina JS Functie Call
De code binnen een JavaScript-functie wordt uitgevoerd wanneer 'iets' het aanroept.
JavaScript-functie aanroepen
wanneer de functie wordtDefiniërenwanneer, de code binnen de functie wordt niet uitgevoerd.
wanneer de functie wordtOproepenwanneer, de code binnen de functie wordt uitgevoerd.
Het oproepen van een functie kan ook worden genoemd 'functie starten' of 'functie uitvoeren'.
In deze handleiding gebruiken we de "Oproepen。”
Functies worden opgeroepen via functieformaat
Instance
function myFunction(a, b) { return a * b; } myFunction(10, 2); // zal 20 teruggeven
Deze functies behoren niet tot enig object. Maar in JavaScript bestaat er altijd een standaard globale object.
In HTML is de standaard globale object het HTML-pagina zelf, alle functies 'horen' bij het HTML-pagina.
In de browser, dit paginaobject is het browservenster. De functie bovenaan wordt automatisch een vensterfunctie.
myFunction() en window.myFunction() zijn dezelfde functie:
Instance
function myFunction(a, b) { return a * b; } window.myFunction(10, 2); // Het zal ook 20 retourneren
Dit is een gebruikelijke manier om een functie aan te roepen, maar het is geen goede gewoonte.
globale variabelen, methoden of functies kunnen gemakkelijk naamconflicten en kwetsbaarheden in het globale object veroorzaken.
this keyword
in JavaScript wordt genoemd this
ding, dat verwijst naar het "bezit" van het huidige code object.
this
waarde, wanneer het in een functie wordt gebruikt, is het "bezitter" van de functie object.
Let op this
is geen variabele. Het behoort tot de keyword. Je kunt het niet veranderen this
waarde.
globale object
wanneer een object zonder bezitterobject wordt aangeroepen,this
waarde wordt het globale object.
in een webbrowser is het globale object het browserobject.
Dit voorbeeld gebruikt this
waarde retourneert dit window-object:
Instance
var x = myFunction(); // x zal het window-object worden function myFunction() { return this; }
een functie aanroepen als een globale functie zal this
waarde wordt het globale object.
gebruik de window-object als variabele kan het programma gemakkelijk crashten.
roep de functie als een methode aan
In JavaScript kun je functies definiëren als objectmethoden.
Hier is een voorbeeld dat een object (myObject) creëert, met twee eigenschappen (firstName en lastName) en een methode (fullName):
Instance
var myObject = { firstName: "Bill", lastName: "Gates", fullName: function () { return this.firstName + " " + this.lastName; } } myObject.fullName(); // Het zal "Bill Gates" retourneren
fullName-methode is een functie. Deze functie behoort tot het object. myObject is de eigenaar van de functie.
wordt genoemd this
het ding, dat "bezit" deze JavaScript-code object, is. In dit voorbeeld,this
waarde is myObject.
Test dit! Pas de fullName-methode aan om this
waarde:
Instance
var myObject = { firstName: "Bill", lastName: "Gates", fullName: function () { return this; } } myObject.fullName(); // Het zal [object Object] (het bezitterobject) retourneren
het aanroepen van de functie als objectmethode zal this
waarde wordt het object zelf.
door de functie constructor de functie aan te roepen
als de functie-aanroep voorafgaat door new
als je de keyword new voor de functie-aanroep hebt gebruikt, dan is dit een constructor-aanroep.
Het ziet eruit als je een nieuwe functie creëert, maar omdat JavaScript-functies objecten zijn, creëer je eigenlijk een nieuw object:
Instance
// Dit is de functie constructor: function myFunction(arg1, arg2) { this.firstName = arg1; this.lastName = arg2; } // Een nieuw object is gecreëerd: var x = new myFunction("Bill", "Gates"); x.firstName; // zal "Bill" teruggeven"
de constructor-aanroep zal een nieuw object creëren. Het nieuwe object zal eigenschappen en methoden van de constructor erven.
binnen de constructor this
de keyword heeft geen waarde.
this
waarde zal het nieuwe object zijn dat wordt gecreëerd bij het aanroepen van de functie.
- Vorige pagina JS Functie Parameters
- Volgende pagina JS Functie Call