Показать сообщение отдельно
  #3 (permalink)  
Старый 23.01.2019, 22:17
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Сообщение от Tipylja Посмотреть сообщение
this.move is not a function
Я так понимаю теряется контекст в таком случае? Подскажите пожалуйста, как этого избежать?
Просто нужно разобраться как работает this в javaScript.
paralax.init.move - не существует что и приводит к ошибке

this в JS динамически заменяется в момент вызова функции и всегда указывает в контексте какого объекта он исполняется. В отличии от некоторых языков программирования где он является константным указателем на экземпляр класса.
<script>
function GetName() { return this.name; }
 
var vasa = {name: "Вася"};
var lena = {name: "Лена"};
var petia = {name: "Петя"};
 
vasa.gn = GetName;
lena.gn = GetName;
petia.gn = GetName;
 
document.write ( vasa.gn() + "<br>") ;
document.write ( lena.gn() + "<br>") ;
document.write ( petia.gn() + "<br>") ;
</script>

В JS очень важно понимать как создается и работает контекст исполнения функции (текущая область видимости переменных).
Ответить с цитированием