Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 9340|Odgovoriti: 0

[JavaScript] Ta podrobna razlaga Javascripta

[Kopiraj povezavo]
Objavljeno na 28. 09. 2020 19:04:30 | | | |
Najprej je treba povedati, da točke tega ni mogoče določiti, ko je funkcija definirana, šele ko je funkcija izvedena, lahko določimo, na koga to kaže; pravzaprav je zadnja točka tega objekt, ki jo kliče (s to povedjo so nekatere težave, in kasneje bo pojasnjeno, zakaj obstaja težava, čeprav večina člankov na internetu to pravi, čeprav v mnogih primerih s tem razumevanjem ne bo težav, a v resnici je to razumevanje netočno, Ko boste to razumeli, boste imeli občutek nerazumevanja), zato bom to vprašanje podrobno raziskal.

Test je naslednji:




Ta ima različne vrednosti za različne namene funkcij. Na splošno je to objekt okolja, v katerem se funkcija izvaja. Uporaba tega je podrobno obravnavana v štirih primerih.

Primer 1: Čisti klici funkcij

To je najpogostejša uporaba funkcije in gre za globalni klic, zato predstavlja globalni objekt. Poglejte spodnjo kodo, deluje z rezultatom 1.


Primer 2: Metoda klica kot objekta

Funkcijo lahko imenujemo tudi kot metodo objekta, v tem primeru se nanaša na nadrejen objekt.


Primer 3 Klic kot konstruktor

Tako imenovani konstruktor je, da se s to funkcijo lahko generira nov objekt. V tem trenutku se to nanaša na ta nov predmet.


Rezultat teka je 1. Da pokažemo, da to trenutno ni globalni objekt, naredimo nekaj sprememb v kodi:



Rezultat zaporedja je 2, kar pomeni, da se vrednost globalne spremenljivke x sploh ni spremenila.

Primer 4: uporabi klic

apply() je metoda funkcije, ki spremeni klicni objekt funkcije. Njegov prvi parameter predstavlja spremenjeni objekt, ki kliče funkcijo. Zato se to nanaša na ta prvi parameter.


Ko je parameter apply() prazen, se privzeto pokliče globalni objekt. Zato je rezultat zaporedja 0, kar dokazuje, da se nanaša na globalni objekt.

Če zadnjo vrstico kode spremenite v


Trenutni rezultat postane 1, kar dokazuje, da predstavlja objektni objekt.

(Konec)


Referenčni:

Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.





Prejšnji:[Dejanski boj] ASP.NET Core temelji na Redis distributed lock flash sale
Naslednji:Razlika med restful patchom in zahtevo za put
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com