У меня есть некоторые интересные проблемы с передачей переменных изнутри объекта в setTimeout
. Сначала я попытался поместить функцию, которую я вызывал из setTimeout
, на мой объект, чтобы мне не пришлось передавать в него какие-либо переменные (я надеялся, что он сам сможет получить доступ к моему объекту). Это не сработало, по-видимому, потому что функция как-то стала глобальной, когда я вызвал ее из setTimeout
, и больше не имел доступа к переменным моего объекта.
Это была моя следующая попытка, но она тоже не работает:
function MyObj() {
this.foo = 10;
this.bar = 20;
this.duration = 1000;
setTimeout(function(){
AnotherFunction(this.foo, this.bar)
}, this.duration);
}
Итак, как именно я могу передать переменную в setTimeout
изнутри объекта? Нет, AnotherFunction
не сможет напрямую получить доступ к MyObj
по разным не связанным причинам, так что об этом тоже не может быть и речи.