У меня есть объект, определенный как это:Вызов функции в объектах с Javascript
Blah = {
hideTimer:null,
setTimer: function() {
this.hideTimer = window.setTimeout(Blah.hidePopupInner, 500);
// must be done via window due to Greasemonkey
},
hidePopupInner: function() {
log("This? " + this);
},
hidePopupInnerPublic: function() {
Blah.hidePopupInner();
}
}
Проблема заключается в том, что «это» в KillTimer является не набора для скучных. Если бы я изменить строку сказать
this.hideTimer = window.setTimeout(Blah.hidePopupInnerPublic, 500);
то «это» указывает на скучное так hideTimer могут быть использованы.
Создание «общедоступного» метода для каждого метода решает проблему, но должно быть более простое решение ...?
Примечание: Это все в Greasemonkey, но я думаю, что это общий вопрос Javascript.
Не могли бы вы разъяснить свой PS? Вы имеете в виду в моем коде в вопросе, он это сделает? –
Мой PS, это только мой собственный опыт с setTimeout, он не будет создавать никаких проблем в вашем случае. – nemisj
Отлично, спасибо за это –