Laten we nu eens kijken wat er gebeurt als we dit terug in de mix te brengen het sleutelwoord.
Hier is waar dingen plezier in de eerste code blok.
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.
Dit voordat we zien wat deze code terugkeert.
Pauzeer de video en na te denken over wat het sleutelwoord dit verwijst naar.
Ga terug naar de eerste twee regels is het sleutelwoord deze in de mondiale context.
Of is het sleutelwoord deze binnenkant van een object verklaard.
Je zou kunnen denken dat het duidelijk de binnenkant van een aangegeven object en je hebt gelijk.
Maar aangezien de ingestelde time-out wordt op een later tijdstip het trefwoord dit heeft geen betrekking op het bovenliggende object.
Het verwijst eigenlijk naar het algemene object.
Dit is erg lastig en uitstapjes up veel beginners.
Dus laten we lopen door het weer sinds de ingestelde time-out wordt op een later tijdstip.
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.
Dus hoe kunnen we dit probleem oplossen, omdat we verliezen de juiste context van het sleutelwoord.
Dit moeten we expliciet, maar we willen het sleutelwoord deze te verwijzen naar.
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.
Vergeet niet dat gesprek en toepassen beroep doen op de functie meteen.
Dus dat doen zou het doel van een bepaalde time-out die voor het uitvoeren van een functie op een later tijdstip te verslaan.
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.
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.
Maar neem een ​​stap terug en vraag jezelf af binnenkant van de code object wat doet het sleutelwoord deze verwijzen.
Nou, het verwijst eigenlijk naar de cult object zelf.
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.
Maar meer in het algemeen zul je de code die het trefwoord deze gebruikt te zien.
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.
Een laatste opmerking.
Het materiaal dat we hier die is vrij ver gevorderd.
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.
Maak je geen zorgen.
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.
Zoals altijd voel je vrij om deze vragen te stellen.
We zijn hier om u te helpen te leren in de volgende video.