0

Всем привет!
Несколько раз перечетал MDN и Microsoft. Так и не могу понять, что в этом конкретном случае из этого кода является this в .bind(this, n_parent, text)?
Ребят, можете подсказать - это сама функция f передаётся таким образом или к чему происходит привязка?
Или, по-другому, что можно подставить в этом случае вместо this?

Код:

for(let i = 0; i < 5; i++){
    let n_parent = document.createElement('div');

    n_parent.classList.add('parent');

    let n_child = document.createElement('div');

    n_child.classList.add('child');
    n_child.classList.add('cover');
    n_parent.appendChild(n_child);

    let text = i;
    let f = addText.bind(this, n_parent, text);

    n_parent.addEventListener('click', f);
    document.body.appendChild(n_parent);
}




function addText(node, text){
     let n_p = document.createElement('p');

     n_p.innerHTML = text;
     node.appendChild(n_p);
}
MedvedevDev
  • 5,237
O.O
  • 411
  • let f = addText.bind(null, n_parent, text); –  May 04 '18 at 18:50
  • this - контекст. В данном коде this - window let f = addText.bind(this) означает, что при вызове f(), вы по сути делаете window.addText() – MedvedevDev May 04 '18 at 19:04
  • в данном случае не важно что передавать, так как устанавливаемое значение не используется внутри самой функции. Само передаваемое значение зависит от того где выполняется код с циклом и установлен или нет strict mode – Grundy May 04 '18 at 19:10

0 Answers0