La forma más fácil de usar bind () para bind () es crear una función para que la función tenga el mismo valor sin importar cómo se llame. A diferencia de la llamada y la aplicación, que simplemente establece el valor de esto y pasan los argumentos, también unirá todos los argumentos reales pasados al método bind () (los parámetros después del primer parámetro) con esto.
Para ver ejemplos de esta característica, consulte el texto original de la "Guía de autoridad JS":
var sum = function (x, y) {return x + y}; var succ = sum.bind (nulo, 1); // deje que este punto sea nulo, y los parámetros reales posteriores también se pasarán a la función unida sumsucc (2); // => 3: puede ver que 1 está vinculado a x en la función de sumaEn segundo lugar, la longitud de la función devuelta por el método bind () es igual a la cantidad de parámetro de forma de la función original menos la cantidad de parámetro real pasada en el método bind () (todos los parámetros después del primer parámetro), porque los parámetros reales pasados se unirán a los parámetros formales de la función original, por ejemplo:
función func (a, b, c, d) {...} // La longitud de func es 4var después = func.bind (nulo, 1,2); // Los dos parámetros reales (1,2) se ingresan aquí para unirse a la función A de la función func, bconsole.log (después.length); // La longitud de después es 2En tercer lugar, cuando la función devuelta por bind () se usa como un constructor, esto pasará a bind () se ignorará y todas las cuentas reales se pasarán a la función original. Esto es muy abstracto. Por ejemplo:
función original (x) {this.a = 1; this.b = function () {return this.a + x}} var obj = {a = 10} var newobj = new (original.bind (obj, 2)); // un parámetro real 2console.log (newobj.a); // Salida 1, lo que indica que OBJ (este valor) se ignora cuando la función devuelta se usa como un constructor console.log (newobj.b ()); // Salida 3, lo que indica que el parámetro pasado 2 se pasa a la función original originalLo anterior son las características del método de enlace en ES5, y esta tecnología también se llama curry funcional . Esta técnica convierte una función con múltiples parámetros en una función con solo un parámetro. El método de enlace es la práctica de esta tecnología en JS.
Esta breve discusión sobre el método de enlace y la función de currería en JS es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.