Как взывать метод объекта через 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, время: 11:44. |