Функция за свързване на JavaScript ()

Методът bind () на функцията JavaScript позволява на обекта да заема метод от друг обект без копиране.

Синтаксисът на bind()метода е:

 func.bind(thisArg, arg1,… argN)

Тук funcе функция.

bind () Параметри

В bind()метода се в:

  • thisArg- Стойността, предоставена като thisпараметър за func. Той се игнорира, ако свързаната функция е създадена с помощта на нов оператор.
  • arg1,… argN(по избор) - Аргументи, които да се добавят към аргументи, предоставени на свързаната функция при извикване func.

Бележки:

  • Когато използвате thisArg вътре в setTimeout, примитивните стойности се преобразуват в обекти.
  • Ако thisArgне е посочено, това от изпълняващия обхват се третира като thisArg.

Връщане на стойност от bind ()

  • Връща копие на дадената функция с посочената тази стойност и начални аргументи (ако са предоставени).

Пример: Използване на bind ()

 this.x = 1; // "this" here is the global window object in browser const obj = ( x: 100, getX: function () ( return this.x; ), ); console.log(obj.getX()); // 100 const retrieveX = obj.getX; // the function gets invoked at the global scope console.log(retrieveX()); // 1 // Create a new function with 'this' bound to obj // global variable 'x' with obj's property 'x' are two separate entities const boundGetX = retrieveX.bind(obj); console.log(boundGetX()); // 100

Изход

 100 1 100

След като методът е предаден някъде отделно от обекта - thisсе губи. Създаването на обвързана функция от функцията, използвайки оригиналния обект, решава добре проблема

Препоръчително четене: Извикване на функция JavaScript ()

Интересни статии...