Maison > interface Web > js tutoriel > Comment utiliser bind pour spécifier le destinataire dans les astuces javascript_javascript

Comment utiliser bind pour spécifier le destinataire dans les astuces javascript_javascript

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-05-16 16:50:14
original
1143 Les gens l'ont consulté
Copier le code Le code est le suivant :

var json = {
jArray : [],
jPush : function (c) {
this.jArray.push(c);
}
}
var example = ["123", "~", "456"];

Utilisez l'exemple de boucle forEach donné par ES5 et ajoutez-les au jArray dans json
Copier le code Le code est le suivant :

examp.forEach(json.jPush);

Une erreur sera signalée à ce moment :
Comment utiliser bind pour spécifier le destinataire dans les astuces javascript_javascript

est généré La raison de cette erreur est que ceci dans la méthode json.jPush ne pointe pas vers l'objet json, mais vers la fenêtre. La façon de résoudre ce problème est de trouver la bonne personne pour cela. .
Heureusement, forEach() fournit un paramètre , spécifiquement utilisé pour spécifier des objets
Copier le code Le. le code est le suivant :

examp .forEach(json.jPush,json);
alert(json.jArray);//Le résultat est normal, 123~456

Il existe une autre méthode :
Copier le code Le code est le suivant :

exemple.forEach(function (c) {
json.jPush( c);
});
alert(json.jArray);//123~456

Vous peut également utiliser bind
Copier le code Le code est le suivant :

examp.forEach(json .jPush.bind(json));
alert(json.jArray) ;

bind crée une nouvelle fonction plutôt que de modifier une fonction. de la fonction d'origine, mais son récepteur est l'objet que nous avons donné, et la fonction d'origine Le récepteur reste inchangé
Cela signifie que l'utilisation de la méthode bind est très sûre, car lorsqu'une fonction ou une méthode est partagée, il y a. pas besoin de craindre que la méthode partagée ne soit pas modifiée.
Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal