@m_frost

Как привязать this между 2 функциями?

И так функция doSomething() срабатывает при нажатии по 1 из элементов р на сторнице, собирает с него данные и передает их другой функции doSomethingElse(), а также передает элемент по которому был осуществлен клик. Суть вопроса заключается в том можно ли передать this в другую функцию используя call или bind и НЕ привязывать его к переменной. Вопрос больше теоретический для лучшего понимания привязки контекста так как все видео и статьи показывают передачу контекста на примерах объектов и их методов а вот примера прямой привязки между функциями я не нашел, буду рад развернутому ответу.
(код просто схема)
let p = document.querySelectorAll('p')

p.forEach( el => el.addEventListener('click', doSomething))

function doSomething(){
   let thisElement = this
   let someData =  this."take some value"
   function doSomethingElse(someData, thisElement);
}
    
function doSomethingElse(Data, element) {
     do something with data and this element
}
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
@dmitriyivvvv
function doSomething(){
   let thisElement = this;
   let someData =  this.textContent; //"take some value"
   doSomethingElse.call(this, someData, thisElement);
}
    
function doSomethingElse(Data, element) {
     //do something with data and this element
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы