Как взывать метод объекта через setTimeout
Не удается взывать функцию объекта через setTimeout (а так же через setInterval). При попытки вызова она выводит undefined
/* есть объект у которого есть аттриубт
и функция которая обращается к этому аттрибуту */
var my = {};
my.par = 'мой атрибут';
my.funct = function(){
alert(this.par);
}
// при вызови метода объекта просто так она нормально работает
my.funct(); //выводит "мой атрибут"
// но если попытаться седлать через setTimeout
// или setInterval то она не видит своего значения
setTimeout(my.funct, 1000); //выводит undefined
Подскажите как правильно? |
Ну правильно:
var my = { func: function(){ alert(this); } }
my.func();
setTimeout(my.func, 1000);
Почитай, тут всё написано. |
Faydaen,
/* есть объект у которого есть аттриубт
и функция которая обращается к этому аттрибуту */
var my = {};
my.par = 'мой атрибут';
my.funct = function(){
alert(this.par);
}
// при вызови метода объекта просто так она нормально работает
my.funct(); //выводит "мой атрибут"
// но если попытаться седлать через setTimeout
// или setInterval то она не видит своего значения
setTimeout("my.funct()", 1000); //выводит
setTimeout(function() { my.funct(); }, 1000); //выводит
|
спасибо, я вот так реализовал
setTimeout(main, 1000);
function main(){
my.funct();
}
|
Цитата:
|
nerv_, ну можно и без скобок)
|
Цитата:
Цитата:
Это же аналог,
setTimeout("alert([typeof this, this, this.constructor, this.prototype])", 1000)
setTimeout(function(){alert([typeof this, this, this.constructor, this.prototype])}, 1000)
setTimeout(new Function("alert([typeof this, this, this.constructor, this.prototype])"), 1000)
setTimeout(Function.call(window, "alert([typeof this, this, this.constructor, this.prototype])"), 1000) |
Цитата:
Цитата:
|
nerv_,
это я понимаю:) Там ещё написано: Цитата:
|
Skipp, http://shamansir.github.com/JavaScri...other.timeouts. Начинай читать с "Скрытое использование eval"
|
| Часовой пояс GMT +3, время: 23:40. |