Méthode JavaScript Bind

Méthode JavaScript Bind
Dans un programme JavaScript, lorsque vous utilisez «ce»Mot-clé avec une méthode et l'invoquez à partir d'un objet récepteur, parfois«ce"N'est pas limité à l'objet requis et entraîne donc des erreurs. Vous pouvez utiliser la méthode JavaScript bind () pour empêcher ce problème.

Le Méthode javascript bind () est utilisé pour lier les fonctions. En utilisant cette méthode, vous pouvez lier un objet à une fonction commune pour montrer différents résultats en fonction de votre exigence. Vous pouvez également utiliser la méthode bind () pour emprunter des fonctions à un autre objet.

Cet article expliquera la méthode JavaScript Bind () et des exemples liés à fonction empruntant et liaison de la fonction sera également démontré. Alors, commençons!

Méthode javascript bind ()

La méthode JavaScript bind () enregistre le contexte des paramètres actuels et «ce”Pour l'exécution future. Il maintient généralement le contexte d'exécution d'une fonction qui s'exécute dans un contexte différent.

Dans le cas d liaison de la fonction, La méthode bind () crée un nouvelle fonction Avoir la copie exacte du corps de la fonction d'origine. La valeur de "ce»Le mot-clé est passé comme le premier paramètre de la méthode Bind (), et il peut également prendre des arguments supplémentaires pour la liaison. Alors que dans fonction empruntant, la méthode javascript bind () empruntions le fonction d'un autre objet sans faire sa copie.

Syntaxe de la méthode JavaScript bind ()

Jetez un œil à la syntaxe de la méthode javascript bind ():

fonction.bind (thisarg, [arg1], [arg2],…);

Ici le "thisarg" représenter "ce»Mot-clé et «[Arg1], [Arg2],… "Sont les arguments supplémentaires. La méthode JavaScript Bind () donnée renvoie une nouvelle fonction lorsqu'elle est invoquée et a également défini "ce”À la valeur spécifiée.

Exemple 1: Utilisation de la méthode JavaScript bind () pour la liaison à une seule fonction
Tout d'abord, nous créerons un programme simple qui comprend un «employé" objet. Le "employé"L'objet a un"nom«Propriété et un«showInfo ()" méthode:

Laissez Employee =
Nom: 'Jack Smith',
showInfo: function ()
console.journal (ceci.nom);

;

Le "ce"Mot-clé ajouté dans le"showInfo ()«La méthode liera le«nom«Variable à la fonction Accédant donc«Jack Smith"Comme le nom d'un employé n'est pas un problème. Ce processus est connu sous le nom de liaison par défaut dans JavaScript:

employé.showInfo ();

L'exécution du programme donné ci-dessus montre la sortie suivante:

Maintenant, nous allons créer une nouvelle fonction variable, "showinfo2"Cela fait référence au"showInfo ()”Fonction de l'objet employé. Dans ce cas, la liaison par défaut sera perdue et le programme ne montrera aucune sortie:

var showInfo2 = employé.showInfo;
showInfo2 ();

Donc, quand le rappel "employé.showinfo"Est invoqué, le"nom«La propriété n'existe pas dans l'objet global, et il est réglé sur«indéfini«Comme indiqué dans la sortie:

Vous pouvez utiliser la méthode JavaScript bind () pour vous assurer que toute liaison liée à «ce»Le mot-clé n'est pas perdu. La méthode bind () définit «ce» contexte sur l'objet spécifié:

Laissez Employee =
Nom: 'Jack Smith',
showInfo: function ()
console.journal (ceci.nom);

;

Ici, la méthode JavaScript bind () crée une nouvelle fonction avec «ce»Mot-clé faisant référence au paramètre dans les parenthèses. Cela nous permet également d'invoquer le «showInfo ()”Fonction en passant le«employé”Objet comme argument:

var showInfo2 = employé.showinfo.lier (employé);
showInfo2 ();

La méthode showInfo2 () affichera le affecté "nom" de "employé" objet:

Exemple 2: Utilisation de la méthode JavaScript bind () pour plusieurs fonctions de liaison
Dans l'exemple suivant, nous créerons trois objets: «Employé1","employé2", et "employé3»:

Laissez Employee1 =
Nom: 'Jack';
Laissez Employee2 =
Nom: 'max';
Laissez Employee3 =
Nom: 'Paul';
fonction showInfo ()
console.journal (ceci.nom);

Pour chacun des objets donnés ci-dessus, nous invoquerons le «showInfo ()"Méthode en utilisant le javascript"lier()" méthode:

var showInfo2 = showInfo.lier (employé1);
showInfo2 ();
var showInfo3 = showInfo.lier (employee2);
showInfo3 ();
var showInfo4 = showInfo.lier (employé3);
showInfo4 ();

La sortie affichera les valeurs de propriété du nom du «Employé1","employé2", et "employé3" objets:

Exemple 3: Utilisation de la méthode JavaScript bind () pour l'emprunt de la fonction
À l'aide de la méthode JavaScript bind (), un objet peut emprunter une fonction d'un autre objet ajouté. Pour la démonstration, nous créerons deux objets "voiture" et "avion" ayant "nom" propriété, "courir()" et "voler()»Méthodes respectivement:

Laissez Car =
Nom: «voiture»,
Exécuter: fonction (vitesse)
console.journal (ceci.Nom + 'se déplace à' + Speed ​​+ 'mph.');

;
Laissez avion =
Nom: «avion»,
Fly: fonction (vitesse)
console.journal (ceci.Nom + 'vole à' + Speed ​​+ 'mph.');

;

Maintenant, si vous voulez le "avion"Object à courir, Utilisez ensuite la méthode JavaScript bind () pour créer une fonction run () avec la «ce»Mot-clé, qui le définit sur«avion" objet:

LET RUN = CAR.courir.se lier (avion, 20);
courir();

Nous avons appelé le bind () avec la voiture.méthode run () et réussi "avion" comme "nom«Valeur de la propriété et sa vitesse comme«20»:

La sortie fournie ci-dessus signifie qu'en utilisant la méthode JavaScript bind (), nous avons réussi à emprunter le courir() Méthode du voiture objet, sans faire sa copie.

Conclusion

Le JavaScript bind () La méthode enregistre le contexte des paramètres actuels et «ce”Pour l'exécution future. Il maintient généralement le contexte d'exécution d'une fonction qui s'exécute dans un contexte différent. Il peut être utilisé pour la liaison des fonctions et l'emprunt. Cet article a expliqué la méthode JavaScript Bind (), et des exemples liés à l'emprunt de fonction et à la liaison de fonction sont également démontrés.