Можешь объяснить, как ключевое слово `this` привязывается в разных контекстах выполнения в JavaScript, включая вызовы методов, автономные функции, строгий режим, обработчики событий и стрелочные функции? — ДейлиПреп