Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.06.2014, 13:58
Аватар для Jekel
Профессор
Отправить личное сообщение для Jekel Посмотреть профиль Найти все сообщения от Jekel
 
Регистрация: 20.11.2009
Сообщений: 257

setInterval внутри обьекта
Вопрос №1

Чего this._timerBeep() выполняется только один раз?
var Module = sys.Class.extend({

    _init: function() {
        console.log('_init!');
        setInterval(this._timerBeep(), 1000);
    },

    _timerBeep: function(){
        console.log('_timerBeep!');
        this.update();
        this.draw();
    },

    update: function() {
        console.log('update!');
    },

    draw: function(){
        console.log('draw!');
    }

});

Module2 = Module.extend();
new Module2();


Console log:

_init!
_timerBeep!
update!
draw!

Вопрос №2

Как this передать в анонимную функцию...сделать что-то типа этого..

var Module = sys.Class.extend({

    _init: function() {
        console.log('_init!');
        setInterval(function(){
                console.log('_timerBeep!');
                this.update();
                this.draw();
            }, 1000);
    },

    update: function() {
        console.log('update!');
    },

    draw: function(){
        console.log('draw!');
    }

});

Module2 = Module.extend();
new Module2();


Console log:

_init!

_timerBeep!
TypeError: this.update is not a function
this.update();

_timerBeep!
TypeError: this.update is not a function
this.update();

_timerBeep!
TypeError: this.update is not a function
this.update();
Ответить с цитированием
  #2 (permalink)  
Старый 27.06.2014, 14:35
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

Ответ на оба вопроса.

Заменить setInterval(this._timerBeep(), 1000);
На setInterval(this._timerBeep.bind(this), 1000);
Ответить с цитированием
  #3 (permalink)  
Старый 27.06.2014, 16:39
Аватар для Jekel
Профессор
Отправить личное сообщение для Jekel Посмотреть профиль Найти все сообщения от Jekel
 
Регистрация: 20.11.2009
Сообщений: 257

Ты такой молодец спасибо тебе
Ответить с цитированием
  #4 (permalink)  
Старый 29.06.2014, 15:14
Новичок на форуме
Отправить личное сообщение для wasa Посмотреть профиль Найти все сообщения от wasa
 
Регистрация: 24.05.2014
Сообщений: 5

уровень безграмотности на форуме просто зашкаливает.
народ даже справочник не читает по функциям.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация JS WeMeSder Общие вопросы Javascript 0 13.06.2014 23:51
Не работает setInterval внутри jQuery ready в Chrome Universe jQuery 6 14.08.2013 18:03
setInterval и глобальные переменные Почемучкин Events/DOM/Window 11 11.08.2012 14:44
один setInterval внутри другого setInterval-а dadli Общие вопросы Javascript 5 20.03.2012 18:16
Переменный в setinterval не видно вне него zeraid Общие вопросы Javascript 12 13.04.2011 10:29