Самый простой способ использования bind () для bind () - создать функцию, чтобы функция имела одинаковое значение, независимо от того, как она называется. В отличие от Call и Apply, что просто устанавливает значение этого и передает аргументы, он также свяжет все фактические аргументы, передаваемые в метод bind () (параметры после первого параметра) с этим.
Для примеров этой функции см. Оригинальный текст «Руководство по авторитету JS»:
var sum = function (x, y) {return x + y}; var succ = sum.bind (null, 1); // Пусть этот пункт в NULL, и последующие фактические параметры также будут переданы в граничную функцию sumsucc (2); // => 3: Вы можете видеть, что 1 связан с x в функции суммыВо -вторых, длина функции, возвращаемой методом bind (), равна исходной сумме параметра формы функции минус фактическое количество параметра, передаваемое в метод bind () (все параметры после первого параметра), потому что фактические параметры, передаваемые в BIND, будут связаны с формальными параметрами исходной функции, например:: Например:: Например::
Функция func (a, b, c, d) {...} // Длина func - 4var после = func.bind (null, 1,2); // здесь введены два фактических параметра (1,2), чтобы привязаться к A функции func, bconsole.log (afe.length); // длина после после 2В -третьих, когда функция, возвращаемая bind (), используется в качестве конструктора, эта передача в bind () будет игнорироваться, и все фактические учетные записи будут переданы в исходную функцию. Это очень абстрактно. Например:
Функция оригинала (x) {this.a = 1; this.b = function () {return this.a + x}} var obj = {a = 10} var newobj = new (original.bind (obj, 2)); // реальный параметр 2console.log (newobj.a); // Вывод 1, указывая, что OBJ (это значение) игнорируется, когда возвращаемая функция используется в качестве консоли конструктора.log (newobj.b ()); // Выход 3, указывая, что пропущенный параметр 2 передается в исходную функцию исходВыше приведено характеристики метода связывания в ES5, и эта технология также называется функциональным карриком . Этот метод превращает функцию с несколькими параметрами в функцию только с одним параметром. Метод Bind - это практика этой технологии в JS.
Это краткое обсуждение метода привязки и функциональных карриков в JS - это все контент, которым я делюсь с вами. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.