Je zult nooit ophouden verrast te zijn door JavaScript. In deze snelle tip laat ik u zien hoe u de JavaScript-methoden gebruikt, telefoontje
en van toepassing zijn
, om je functies van andere objecten te bellen. Weet niet wat ik bedoel? Laten we beginnen!
Dit is het scenario: we hebben twee objecten:
var joe = name: "Joe", greet: function (name) alert (this.name + "zegt hallo tegen" + naam); ; var jill = name: "Jill";
Het is vrij eenvoudig om Joe Jill te laten groeten:
joe.greet ( "Jill");
Maar hoe kunnen we Jill Joe laten groeten? Ze heeft geen begroetingsmethode (en laten we aannemen dat we haar niet kunnen / willen / niet geven). Nou, omdat alles in JavaScript-inclusief functies-een object is, kan alles een methode hebben, of een functie die ervan kan worden opgeroepen. Functies krijgen twee methoden waarmee je ze in verschillende contexten kunt oproepen.
De context van een methode is in feite het object dat zal zijn deze
wanneer de functie wordt aangeroepen. In onze begroeten
methode, deze
verwijst naar het object joe
, omdat dat is waar het onderdeel van is.
Probeer dit nu:
joe.greet.call (jill, "Joe");
De telefoontje
Met de methode voor JavaScript-functies kunt u de context van de functie wijzigen. De eerste parameter die we doorgeven is de nieuwe context: in dit geval is dat Jill
. Daaropvolgende parameters zijn de parameters voor de functie die u aanroept. In dit geval wordt "Joe" doorgegeven aan begroeten
. Als u dit uitvoert, ontvangt u een waarschuwingsvenster met het bericht "Jill zegt hallo tegen Joe."
Er is ook een van toepassing zijn
methode; het enige verschil is dat het de parameters van de methode als een array neemt, in plaats van als ruwe parameters, a la de telefoontje
methode.
joe.greet.call (jill, ["Joe"]);
Als je het moeilijk hebt om te onthouden of het is telefoontje
of van toepassing zijn
dat neemt de reeks, onthoud dat eenpply
en eenrray beide beginnen met "een.”
Bedankt voor het lezen!