Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 9340|Svar: 0

[JavaScript] Denna detaljerade förklaring av Javascript

[Kopiera länk]
Publicerad på 2020-09-28 19:04:30 | | | |
Först och främst måste det sägas att poängen med detta inte kan bestämmas när funktionen definieras, endast när funktionen utförs kan man avgöra vem detta pekar på, faktiskt är den slutliga punkten objektet som anropar den (det finns vissa problem med denna mening, och det kommer att förklaras senare varför det finns ett problem, även om de flesta artiklar på internet säger detta, även om det i många fall inte finns något problem med den förståelsen, men i själva verket är den förståelsen felaktig, Så när du förstår detta kommer du att känna dig oförstående), så jag kommer att utforska detta ämne på djupet.

Testet är följande:




Detta har olika värden för olika funktioners syften. Generellt är detta miljöobjektet där funktionen körs. Användningen av detta diskuteras i detalj i fyra situationer.

Fall 1: Rena funktionsanrop

Detta är den vanligaste användningen av en funktion, och det är ett globalt anrop, så detta representerar ett globalt objekt. Titta på koden nedan, den körs med resultatet 1.


Fall 2: Anrop som objektmetod

Funktionen kan också kallas en metod för ett objekt, i vilket fall detta syftar på föräldraobjektet.


Fall 3 Anrop som konstruktör

Den så kallade konstruktören är genom denna funktion som kan genereras ett nytt objekt. Vid denna punkt syftar detta på detta nya objekt.


Resultatet av runen är 1. För att visa att detta inte är ett globalt objekt just nu gör vi några ändringar i koden:



Resultatet av körningen är 2, vilket indikerar att värdet på den globala variabeln x inte har ändrats alls.

Fall 4 ansökningssamtal

apply() är en metod för en funktion som ändrar det anropande objektet för funktionen. Dess första parameter representerar det ändrade objektet som anropar funktionen. Därför syftar detta på denna första parameter.


När apply()-parametern är tom anropas det globala objektet som standard. Därför är resultatet av körningen 0, vilket bevisar att detta avser det globala objektet.

Om du ändrar sista kodraden till


Det löpande resultatet blir 1, vilket bevisar att detta representerar objektet obj.

(Slut)


Hänvisning:

Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.





Föregående:[Faktisk strid] ASP.NET Core är baserat på Redis distribuerade låsflash-försäljning
Nästa:Skillnaden mellan en restful patch och en put-begäran
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com