1
00:00:00,570 --> 00:00:03,970
Laten we nu eens kijken wat er gebeurt als we dit terug in de mix te brengen het sleutelwoord.

2
00:00:04,170 --> 00:00:06,980
Hier is waar dingen plezier in de eerste code blok.

3
00:00:07,020 --> 00:00:17,740
We hebben een methode genaamd Say hi dat is een functie die een set timeout roept en tenietgedaan logt de reeks hoge aaneengeschakeld met de waarde van de eerste eigenschap name op het zoekwoord.

4
00:00:17,820 --> 00:00:21,100
Dit voordat we zien wat deze code terugkeert.

5
00:00:21,150 --> 00:00:24,740
Pauzeer de video en na te denken over wat het sleutelwoord dit verwijst naar.

6
00:00:24,780 --> 00:00:28,550
Ga terug naar de eerste twee regels is het sleutelwoord deze in de mondiale context.

7
00:00:28,710 --> 00:00:32,280
Of is het sleutelwoord deze binnenkant van een object verklaard.

8
00:00:32,280 --> 00:00:36,480
Je zou kunnen denken dat het duidelijk de binnenkant van een aangegeven object en je hebt gelijk.

9
00:00:36,750 --> 00:00:44,310
Maar aangezien de ingestelde time-out wordt op een later tijdstip het trefwoord dit heeft geen betrekking op het bovenliggende object.

10
00:00:44,310 --> 00:00:47,100
Het verwijst eigenlijk naar het algemene object.

11
00:00:47,100 --> 00:00:50,060
Dit is erg lastig en uitstapjes up veel beginners.

12
00:00:50,160 --> 00:00:55,470
Dus laten we lopen door het weer sinds de ingestelde time-out wordt op een later tijdstip.

13
00:00:55,590 --> 00:01:13,960
Het object dat het aan wordt gehecht is eigenlijk het raam net zoals we al eerder gezegd ingestelde time-out wordt een methode op het raam object, zelfs al is het bepaald binnenkant van de koude object wanneer het is uitgeroepen tot de context waarin de functie wordt uitgevoerd is eigenlijk de globale context.

14
00:01:13,980 --> 00:01:18,000
Dus hoe kunnen we dit probleem oplossen, omdat we verliezen de juiste context van het sleutelwoord.

15
00:01:18,010 --> 00:01:22,220
Dit moeten we expliciet, maar we willen het sleutelwoord deze te verwijzen naar.

16
00:01:22,590 --> 00:01:30,510
We kunnen dit gebruiken oproep te doen en toe te passen, maar omdat we willen de functie bellen op een later tijdstip willen we niet op een van deze te gebruiken.

17
00:01:30,570 --> 00:01:33,600
Vergeet niet dat gesprek en toepassen beroep doen op de functie meteen.

18
00:01:33,660 --> 00:01:39,620
Dus dat doen zou het doel van een bepaalde time-out die voor het uitvoeren van een functie op een later tijdstip te verslaan.

19
00:01:39,960 --> 00:01:47,700
Dus dat laat ons met bind in de tweede code blok kunnen we ons probleem op te lossen door het passeren in als de eerste parameter om de bind methode.

20
00:01:47,700 --> 00:01:56,010
De waarde die we willen het sleutelwoord deze te verwijzen naar u helemaal in de war over de vraag waarom we pas in het trefwoord dit als de eerste parameter zijn.

21
00:01:56,160 --> 00:02:02,420
Maar neem een ​​stap terug en vraag jezelf af binnenkant van de code object wat doet het sleutelwoord deze verwijzen.

22
00:02:02,850 --> 00:02:06,140
Nou, het verwijst eigenlijk naar de cult object zelf.

23
00:02:06,240 --> 00:02:20,160
Dus we zijn het binden van de juiste waarde van het zoekwoord dit te zijn wat we willen wanneer de functie binnenkant van de ingestelde time-out wordt genoemd in plaats van het zoekwoord dit u kunt doorgeven in de variabele geroepen om de bind methode en je zal hetzelfde resultaat te krijgen.

24
00:02:20,400 --> 00:02:24,790
Maar meer in het algemeen zul je de code die het trefwoord deze gebruikt te zien.

25
00:02:24,900 --> 00:02:41,060
Om samen te vatten we zagen dat de bind methode retourneert een functie definitie tegenstelling oproep een toe te passen en is erg handig voor het instellen van de waarde van het zoekwoord dit als we niet alle waarden kennen voor de argumenten die worden doorgegeven aan de functie of wanneer we werken met asynchrone code.

26
00:02:41,070 --> 00:02:42,300
Een laatste opmerking.

27
00:02:42,390 --> 00:02:44,960
Het materiaal dat we hier die is vrij ver gevorderd.

28
00:02:45,150 --> 00:02:54,920
Maar als u op zoek bent naar een professionele javascript ontwikkelaar dit te worden is het soort code die u ziet in de productie-code bases evenals krijgen gevraagd over in interviews als je nog steeds helemaal struikelde met dit voorbeeld.

29
00:02:54,930 --> 00:02:55,710
Maak je geen zorgen.

30
00:02:55,830 --> 00:03:05,580
Ik heb dit onderwerp veel geleerd en het is altijd iets dat verwart mensen bij de eerste poging om te lopen door elke regel van de code en zorg ervoor dat je de voorbeelden typen in het chroom console om te zien wat er aan de hand.

31
00:03:05,760 --> 00:03:07,950
Zoals altijd voel je vrij om deze vragen te stellen.

32
00:03:07,950 --> 00:03:10,600
We zijn hier om u te helpen te leren in de volgende video.
