Bienvenido nuevamente en el video anterior discutimos la tercera regla para determinar el valor
de la palabra clave este enlace explícito.
Aprendimos que usar call apply y bind puede cambiar el contexto de la palabra clave.
Esto veamos cómo podemos solucionar nuestro problema anterior al usar call el primer bloque de código es idéntico a lo
que vimos antes.
Pero veamos qué está sucediendo en la segunda sección.
Anteriormente, estábamos llamando perro perro persona decir hola, que estaba volviendo Hola.
de la función say hello se refiere al objeto dog que no tiene una propiedad de primer nombre.
Undefined sucede porque el valor de la palabra clave this dentro
Como usamos la llamada, ahora podemos cambiar el valor de la palabra clave que queremos que sea.
Así que vamos a cambiarlo para que sea el objeto de la persona.
Ahora que lo hemos hecho, podemos ver que la función devuelve Hola llamado y nuestro problema es fijo.
También podemos utilizar la función de contexto de determinación dentro del objeto dog y cambiar el valor de la
palabra clave this para hacer que la función devuelva true.
Una cosa importante a tener en cuenta es que no estamos invocando el "decir hola" ni determinar el método de contexto al
que simplemente le hemos agregado una llamada.
Entonces no hay paréntesis después de decir hola y determinar el contexto.
Cuando usamos la llamada muy comúnmente, la llamada se usa para evitar la aplicación del código, como en este ejemplo a continuación.
Aquí tenemos dos objetos fríos y L. MI. que ambos tienen una propiedad de primer nombre y dicen Hola método.
Aunque este código funciona totalmente bien, nos estamos repitiendo un poco dentro del
objeto elete para decir que el método dentro del objeto es idéntico al mismo método dentro del objeto frío.
¿Cómo podemos refactorizar nuestro código y deshacernos del alto método dentro del objeto?
Lo que realmente nos gusta hacer es usar el mismo método elevado del objeto de culto.
Pero en lugar de la palabra clave que se refiere al frío, queremos establecer explícitamente que sea el objeto L-E.
Detenga el video ahora y vea si puede resolver cómo resolver el problema usando la llamada.
Echemos un vistazo a una solución.
Eliminamos el método say hi del objeto y estamos usando call para establecer que el valor de la palabra clave
this sea L-E.
Cuando se invoca el método de decir hi, el primer parámetro al método de llamada es a lo que
queremos que se refiera la palabra clave.
Llamamos a esto ARG.
Una vez más, esto es bastante complicado.
Entonces, si te sientes un poco confundido, mira la diapositiva anterior y asegúrate de escribir estos
ejemplos en la consola de Chrome para ver exactamente lo que está sucediendo en el siguiente video.
Vamos a echar un vistazo a aplicar y ver cómo podemos establecer el contexto de la palabra clave this using
apply así como pasar argumentos a la función a la que llamamos apply.
En el otro