Bentornato nell'ultimo video esaminiamo la seconda regola per determinare il valore della parola chiave,
questa la regola implicita che la regola implicita afferma che quando la parola chiave si trova
all'interno di un oggetto dichiarato, il suo valore sarà sempre l'oggetto padre più vicino.
Una cosa da notare queste regole che stiamo usando non sono una parte ufficiale della specifica
JavaScript, quindi non le troverai lì.
Queste regole sono solo un modo utile per tenere traccia di quale sia il valore della parola chiave.
Alla fine dell'ultimo video abbiamo visto un esempio di quando il contesto della parola chiave è cambiato in modo imprevisto
nel nostro metodo Say hello.
La proprietà del primo nome divenne indefinita perché la parola chiave ora si riferiva all'oggetto cane.
Quindi, cosa vogliamo impostare in modo esplicito il valore della parola chiave, così da poterlo
forzare ad essere l'oggetto persona invece dell'oggetto cane.
È qui che entra in gioco la terza regola.
Ogni volta che vedi la chiamata applicare o associare metodi, puoi facilmente determinare qual è
il valore della parola chiave, perché puoi impostarlo come il primo parametro da chiamare applicare e associare.
Prima confrontiamo e contrapponiamo questi tre metodi.
essere utilizzati solo da funzioni non di qualsiasi altro tipo di dati come stringhe booleani o oggetti.
Una cosa da ricordare è che possono essere utilizzati solo su funzioni call apply e bind o metodi che possono
Il primo metodo di cui parleremo è chiamare il primo argomento per il metodo
call, indipendentemente dal valore della parola chiave this.
Questo è comunemente chiamato questo ARG e può essere impostato su qualsiasi cosa tu voglia.
Gli argomenti dopo questo ARG sono tutti i parametri che vuoi passare alla funzione che stai
cambiando il contesto della parola chiave all'interno di questo suono, ma io avrò più senso
quando vedremo un esempio.
funzione può avere un numero infinito di argomenti, separiamo ciascuno di essi con una virgola quando si usa la chiamata.
E dal momento che una
Infine, quando il metodo call viene utilizzato su una funzione, la funzione viene immediatamente richiamata.
Ora passiamo a una trama.
L'applicazione è quasi identica alla chiamata, tranne applicare richiede solo due parametri al massimo il primo, proprio come la chiamata
è ciò che vogliamo che il valore della parola chiave sia.
Lo chiamiamo questo ARG.
Il secondo è un array di argomenti che vogliamo passare alla funzione in cui stiamo
cambiando il valore della parola chiave this.
Ora esaminiamo il legame.
Bind è quasi identico alla chiamata tranne che invocare la funzione immediatamente.
Bind restituisce una definizione di funzione.
Ricapitoliamo rapidamente cosa intendo per definizione della funzione.
Ho intenzione di creare una funzione chiamata first function e restituirà la stringa ciao.
Se non invoco la funzione ma esamino la variabile che ho creato.
Mi viene restituita una definizione di funzione.
funzioni con un valore diverso della parola chiave this e richiamarle in un secondo momento.
Bind è una funzione estremamente potente in quanto possiamo vedere le
Bind è molto utile quando si lavora con codice asincrono come il timeout impostato ed è il
mattone di partenza per tecniche di programmazione più avanzate come il corriere.
Ricapitoliamo rapidamente questi tre metodi call apply e bind vengono utilizzati per indicare esplicitamente il valore della
parola chiave.
Questo li usiamo quando vogliamo il pieno controllo su ciò a cui la parola chiave si riferirà.
Quindi avrà la precedenza sulle prime due chiamate di regole e applica invocherà immediatamente la funzione su cui sono
chiamate mentre vincola o restituisce una nuova definizione di funzione con il valore della parola chiave.
Questo ha stabilito in modo esplicito di chiamare e legare.
Tranne un numero infinito di parametri mentre applica solo prende in due nel prossimo video.
Vedremo un esempio di chiamata e come possiamo usarlo per impostare esplicitamente il valore della parola chiave this.
Guarda quello