La façon la plus simple d'utiliser bind () pour lier () est de créer une fonction afin que la fonction ait la même valeur, peu importe comment elle est appelée. Contrairement à l'appel et à l'application, qui définissent simplement la valeur de ceci et transmettent les arguments, il liera également tous les arguments réels transmis dans la méthode bind () (les paramètres après le premier paramètre) avec cela.
Pour des exemples de cette fonctionnalité, veuillez consulter le texte original de "JS Guide faisant autorité":
var sum = fonction (x, y) {return x + y}; var succ = sum.bind (null, 1); // laissez ce point vers NULL, et les paramètres réels suivants seront également transmis dans la fonction liée SUMSUCC (2); // => 3: Vous pouvez voir que 1 est lié à x dans la fonction de sommeDeuxièmement, la longueur de la fonction renvoyée par la méthode bind () est égale à la quantité de paramètre de forme de la fonction d'origine moins la quantité réelle de paramètre transmise dans la méthode bind () (tous les paramètres après le premier paramètre), car les paramètres réels transmis dans Bind seront liés aux paramètres formels de la fonction d'origine, par exemple: par exemple:
fonction func (a, b, c, d) {...} // La longueur de la func est 4Var après = func.bind (null, 1,2); // Les deux paramètres réels (1,2) sont entrés ici pour se lier à la fonction a de la fonction Func, bconsole.log (After.Length); // la durée de après est 2Troisièmement, lorsque la fonction renvoyée par bind () est utilisée comme constructeur, celle transmise dans bind () sera ignorée et tous les comptes réels seront transmis dans la fonction d'origine. C'est très abstrait. Par exemple:
fonction original (x) {this.a = 1; this.b = function () {return this.a + x}} var obj = {a = 10} var newoBj = new (original.bind (obj, 2)); // un paramètre réel 2Console.log (newoBJ.A); // Sortie 1, indiquant que OBJ (cette valeur) est ignorée lorsque la fonction retournée est utilisée comme une console constructeur.log (newoBJ.B ()); // sortie 3, indiquant que le paramètre passé 2 est passé dans la fonction d'origine d'origineCe qui précède est les caractéristiques de la méthode de liaison dans ES5, et cette technologie est également appelée curry fonctionnelle . Cette technique transforme une fonction avec plusieurs paramètres en une fonction avec un seul paramètre. La méthode de liaison est la pratique de cette technologie dans JS.
Cette brève discussion sur la méthode de liaison et le curry de fonction dans JS est tout le contenu que je partage avec vous. J'espère que cela pourra vous donner une référence et j'espère que vous pourrez soutenir Wulin.com plus.