Использование функции-члена «Класс» в качестве параметра для setInterval () - PullRequest
1 голос
/ 16 ноября 2011

В Javascript возможно передать функцию-член в функцию setInterval (). Надеюсь, это имеет смысл, я покажу вам пример кода того, что я хочу сделать, потому что так проще объяснить.

Я хочу вызывать следующую функцию каждые 10 миллисекунд и иметь возможность доступа и изменения члена класса this.myArray () в этой функции (каждый раз, когда вызывается функция).

function myClass()
{
    this.myArray = new Array()
    setInterval(this.slideLoop, 10);
}

// THE WHOLE POINT OF ALL THIS IS SO I CAN ACCESS THE ARRAY this.myArray()    
// INSIDE THE FOLLOWING FUNCTION WHEN ITS CALLED FROM setInterval() EVERY 10ms
myClass.prototype.slideLoop = function()
{
    alert( this.myArray[0] );
    this.myArray.slice(0,1);
}

1 Ответ

5 голосов
/ 16 ноября 2011

Вы можете использовать замыкание с чем-то вроде

function myClass()
{
    this.myArray = new Array()
    var that = this;
    setInterval(function() { that.slideLoop() }, 10);
}

Например, см. http://jsfiddle.net/3gyXF/

(Например, я изменил время ожидания на 1 с и slicesplice для иллюстрации)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...