JavaScript call () – metoden

sammanfattning: i den här handledningen lär du dig mer om JavaScriptcall() – metoden och hur du använder den mer effektivt.

introduktion till metoden JavaScript call ()

i JavaScript är en funktion en instans av typenFunction., Till exempel:

Code language: Python (python)

typen Function har en metod som heter call() med följande syntax:

Code language: Python (python)

metoden call() anropar en funktion functionName med ett givet värde och argument this.

det första argumentet förcall() – metodenthisArg är värdetthis. Det låter dig ställa in värdet this till ett visst objekt.,

de återstående argumenten förcall() – metodenarg1,arg2,… är argumenten för funktionen.

När du anropar en funktion anropar JavaScript-motorn metodencall() för det funktionsobjektet.,

anta att du har funktionenshow() enligt följande:

Code language: Python (python)

och anropa funktionenshow():

Code language: Python (python)

det motsvarar att anropa funktionencall()

det motsvarar att anropa funktionen call()metod på showfunction object:

Code language: Python (python)

som standard är värdetthis inne i funktionen inställt på det globala objektet dvs window på webbläsare och global på noden.,JS:

Code language: Python (python)

Observera att i strikt läge ärthis inuti funktionen inställd påundefined istället för det globala objektet.

se följande exempel:

Code language: Python (python)

Output:

Code language: Python (python)

i det här exemplet, istället för att ringaadd() funktionen direkt, använder vi metodencall() för att åberopa metodenadd() funktion. Värdetthis är inställt på det globala objektet.,

se följande kod:

inuti funktionensay() refererar vi tillgreeting via värdetthis.,”87a3e92b46″>

metod enligt följande:

Code language: Python (python)

det kommer att visa följande resultat:

Code language: Python (python)

men när du anropar call() metod för say() funktion och skicka messenger objekt som this värde:

Code language: Python (python)

utmatningen kommer att vara:

Code language: Python (python)

i det här fallet kommer värdet this inuti say() funktionen refererar till objektet messenger, inte det globala objektet.,

med hjälp av metoden JavaScript call() till kedjekonstruktörer för ett objekt

metoden call() kan användas för kedja konstruktörer för ett objekt. Tänk på följande exempel:

i det här exemplet:

  • initiera först objektetBox med två egenskaper:height ochwidth.,
  • andra, åberopacall() metoden förBox objektet inuti objektetWidget, ange värdetthis till objektetWidget.

använda JavaScript call () – metoden för funktionsupplåning

följande definierar två objekt:car ochaircraft:

objektetaircraft har metodenfly().,

följande kod användercall() – metoden för att anropastart() – metoden förcar – objektet påaircraft – objektet:

Code language: Python (python)

här är utgången:

Code language: Python (python)

tekniskt har objektetaircraft lånat metodenstart() för objektetcar för objektetaircraft.

När ett objekt använder en metod för ett annat objekt kallas funktionen upplåning.,

de typiska applikationerna för funktionsupplåning är att använda de inbyggda metoderna för Matristypen.

till exempel ärarguments-objektet i en funktion ett matrisliknande objekt, inte ett matrisobjekt. För att använda metodenslice() för Matrisobjektet måste du använda metodencall():

Output:

Code language: Python (python)

i det här exemplet passerade vi valfritt antal nummer i funktionen. Funktionen returnerar en rad udda tal.,

följande uttalande användercall() – funktionen för att ställa inthis inutislice() – metoden tillarguments – objektet och utförslice() – metoden:

Code language: Python (python)

i den här handledningen har du lärt dig om JavaScriptcall() – metoden och hur du använder den mer effektivt.

  • var den här handledningen till hjälp ?
  • YesNo

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *