Javascript Object Function Scoping - PullRequest
       0

Javascript Object Function Scoping

1 голос
/ 03 декабря 2010

Допустим, у меня есть класс:

var asdf = new Class({
  myFunction: function () {
    //some stuff here
  },
  anotherFunction: function() {
    globalObject.dosomethingandusecallback( 
      function() { // this is the callback
        //how do I call myFunction() here? I can't seem to get it to work?
      }
    );
  }
});

У меня, кажется, есть некоторые проблемы с областью действия при попытке вызвать myFunction в определении моей функции обратного вызова.Что мне здесь не хватает?Я думал, что он должен иметь доступ к myFunction в этом контексте?

Спасибо!

1 Ответ

3 голосов
/ 03 декабря 2010

Скопируйте ключевое слово this в переменную вне функции обратного вызова и используйте эту переменную внутри обратного вызова:

anotherFunction: function() {
  var self = this;
  globalObject.dosomethingandusecallback( 
    function() { // this is the callback
      self.myFunction();
    }
  );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...