Получить объект функции javascript - PullRequest
3 голосов
/ 21 декабря 2011

Предположим, у меня есть объект под названием myObj , и у него есть функция test

MyObj.prototype.test = function(){
     alert(this);
}

И я установил таймер:

setInteravl(myObj.test,1000);

Поскольку это полностью зависит от того, как вы вызвали функцию, это относится к окну вместо myObj в операторе оповещения

Что мне делать, если вместо этого мне нужна ссылка на myObj?

Ответы [ 2 ]

4 голосов
/ 21 декабря 2011

Оберните это в анонимную функцию:

var myObj = new MyObj();

setInterval(function() {myObj.test();}, 1000);

Или в современных реализациях bind it.

var myObj = new MyObj();

setInterval(myObj.test.bind(myObj), 1000);
1 голос
/ 21 декабря 2011

Вы можете обернуть его в function:

setInteravl(function () {myObj.test()} ,1000);
...