Método de enlace de JavaScript

Método de enlace de JavaScript
En un programa JavaScript, cuando utiliza "este"Palabra clave con un método e invocarla desde un objeto receptor, a veces"este"No está limitado al objeto requerido y, por lo tanto, resulta en errores. Puede usar el método JavaScript bind () para evitar este problema.

El Método JavaScript bind () se usa para unir funciones. Usando este método, puede unir un objeto a una función común para mostrar resultados diferentes de acuerdo con sus requisitos. También puede utilizar el método bind () para tomar prestados funciones de otro objeto.

Este artículo explicará el método JavaScript Bind () y ejemplos relacionados con prestado de funciones y vinculación de funciones también se demostrará. Entonces, comencemos!

Método JavaScript bind ()

El método JavaScript bind () guarda el contexto de los parámetros actuales y "este"Para la ejecución futura. Por lo general, mantiene el contexto de ejecución de una función que se ejecuta en un contexto diferente.

En el caso de vinculación de funciones, El método bind () crea un nueva función tener la copia exacta del cuerpo de la función original. El valor de "este"La palabra clave se pasa como el primer parámetro en el método bind (), y también puede tomar argumentos adicionales para vincular. Mientras en prestado de funciones, el método JavaScript bind () ascenso el función de otro objeto sin hacer su copia.

Sintaxis del método JavaScript bind ()

Eche un vistazo a la sintaxis del método JavaScript Bind ():

función.Bind (ThateRg, [arg1], [arg2], ...);

Aquí el "thantarg" representar "este"Palabra clave y “[Arg1], [Arg2], .. "Son los argumentos adicionales. El método JavaScript Bind () dado devolverá una nueva función cuando se invoca y también se establece "este"Al valor especificado.

Ejemplo 1: Uso del método JavaScript bind () para unión de una sola función
En primer lugar, crearemos un programa simple que comprende un "empleado" objeto. El "empleado"El objeto tiene un"nombre"Propiedad y una"mostrar información()" método:

Dejar empleado =
Nombre: 'Jack Smith',
showInfo: function ()
consola.Log (esto.nombre);

;

El "este"Palabra clave agregada en el"mostrar información()"El método unirá el"nombre"Variable a la función, por lo tanto, accede"Jack Smith"Como el nombre de un empleado no es un problema. Este proceso se conoce como enlace predeterminado en JavaScript:

empleado.mostrar información();

La ejecución del programa anterior muestra la siguiente salida:

Ahora, crearemos una nueva función variable ","showinfo2"Eso se refiere al"mostrar información()"Función del objeto del empleado. En este caso, el enlace predeterminado se perderá y el programa no mostrará ninguna salida:

var showinfo2 = empleado.mostrar información;
showInfo2 ();

Entonces, cuando la devolución de llamada "empleado.mostrar información"Se invoca, el"nombre"La propiedad no existe en el objeto global, y se establece en"indefinido"Como se muestra en la salida:

Puede utilizar el método JavaScript Bind () para garantizar que cualquier vinculación se relacione con "este"La palabra clave no se pierde. El método bind () establece el contexto "este" en el objeto especificado:

Dejar empleado =
Nombre: 'Jack Smith',
showInfo: function ()
consola.Log (esto.nombre);

;

Aquí el método JavaScript bind () crea una nueva función con "estePalabra clave que se refiere al parámetro en los paréntesis. También nos permite invocar el "mostrar información()"Funciona mientras pasa el"empleado"Objeto como argumento:

var showinfo2 = empleado.mostrar información.enlace (empleado);
showInfo2 ();

El método showInfo2 () mostrará el asignado "nombre" de "empleado" objeto:

Ejemplo 2: Uso del método JavaScript bind () para múltiples funciones vinculante
En el siguiente ejemplo, crearemos tres objetos: "empleado1","empleado2", y "empleado3":

Deje que el empleado1 =
Nombre: 'Jack';
Deje que el empleado2 =
Nombre: 'Max';
Deje que el empleado3 =
Nombre: 'Paul';
función showInfo ()
consola.Log (esto.nombre);

Para cada uno de los objetos dados anteriormente, invocaremos el "mostrar información()"Método utilizando el JavaScript"unir()" método:

var showInfo2 = showInfo.enlace (Empleado1);
showInfo2 ();
var showInfo3 = showInfo.enlace (Empleado2);
showInfo3 ();
var showInfo4 = showInfo.Bind (Empleado3);
showInfo4 ();

La salida mostrará los valores de propiedad del nombre del "empleado1","empleado2", y "empleado3" objetos:

Ejemplo 3: Uso del método JavaScript bind () para el pedido de funciones
Con la ayuda del método JavaScript bind (), un objeto puede tomar prestada una función de otro objeto agregado. Para la demostración, crearemos dos objetos "auto" y "avión" teniendo "nombre" propiedad, "correr()" y "volar()"Métodos respectivamente:

Let Car =
Nombre: 'coche',
run: function (speed)
consola.Log (esto.el nombre + 'se mueve a' + velocidad + 'mph.');

;
Let Airplane =
Nombre: 'avión',
volar: función (velocidad)
consola.Log (esto.el nombre + 'está volando a' + velocidad + 'mph.');

;

Ahora, si quieres el "avión" oponerse a correr, Luego utilice el método JavaScript bind () para crear una función run () con el "este"Palabra clave, que la establece en"avión" objeto:

Let Run = coche.correr.bind (avión, 20);
correr();

Hemos llamado el bind () con el coche.Método run () y aprobado "avión" como "nombre"Valor de propiedad y su velocidad como"20":

La salida dada anterior significa que al usar el método JavaScript Bind (), hemos tomado prestado con éxito el correr() método del auto Objeto, sin hacer su copia.

Conclusión

El JavaScript Bind () El método guarda el contexto de los parámetros actuales y "este"Para la ejecución futura. Por lo general, mantiene el contexto de ejecución de una función que se ejecuta en un contexto diferente. Se puede utilizar para el enlace de funciones y el endeudamiento de funciones. Este artículo explicó el método JavaScript Bind (), y también se demuestran ejemplos relacionados con el préstamo de funciones y la unión de funciones.