Метод bind ()

  • Етапи створення сайту
  • оптимізація сайту
  • HTML 4.01
  • css 2.1
  • HTML5
  • CSS3
  • WordPress
  • JS
  • Корисні статті
Метод bind ()

Сьогодні ми розглянемо метод bind (), але для початку потрібно розібратися що ж це таке. У перекладі з англійської означає «прив'язувати», «зв'язувати». Цей метод служить для прив'язки контексту, а також аргументів. Перш ніж, почати вивчати метод bind () розглянемо вот такой вот код:

Що сталося, чому площа квадрата була обчислена? А вся справа в тому, вбудований метод setTimeout отримав функцію square.area. але не її контекст. Як же бути в цьому випадку? Можна скористатися різними способами.

огортання виклику

Спробуємо обернути наш виклик в анонімну функцію:

Тепер начебто все в порядку, але в цьому способі є один великий недолік. Під час спрацювання setTimeout в змінну square може бути записано інше значення і результат відповідно може бути іншим.

Вбудований метод bind

  • wrapper - змінна (обгортка), яка фіксує контекст;
  • func - довільна функція;
  • context - контекст;
  • arg1, arg2 ... argN - аргументи, які будуть додані при виконанні функції, але найцікавіше, що вони стануть перед тими аргументами, які вказані при виклику.

Давайте перепишемо, наш попередній приклад з використанням цього методу:

У цьому прикладі я не застосовував аргументи. Аргументи при цьому використовуються досить рідко, але вони дозволяють створювати нові функції. На них ми не будемо загострювати увагу.

Допоміжна функція bind

Є ще один спосіб прив'язати контекст функції - це спробувати самим створити функцію bind:

Цю функцію я запозичив звідси: bind. Давайте тепер поглянемо як буде працювати ця функція (принцип майже такий же, як у вбудованому методі):

Ось таким чином ми легко прив'язали контекст об'єкта cube. Сподіваюся вам сподобався урок, не забуваємо ставити лайки!

Всі права на сайт належать Олександру Побединський.

Метод bind ()
Метод bind ()
Метод bind ()

Схожі статті