3

私が次のものを持っていると仮定します:

var object = {
    myfunc: function() {
        $.ajax({
           url: url,
           format: format,
           success: function() {

           console.log(this) // This refers to the ajax call and not "object"

                $.ajax({
                  url: url,
                  format: format,
                  success: function() {
                    console.log(this) // this refers to nested ajax call and not "object"
                  }
                });


           }
        });
    }
}

ajax呼び出しとは対照的に、「オブジェクト」を参照するために「これ」を取得する方法は?

4

4 に答える 4

3

必要な値を保持するthisコンテキストにまだいるときに、の値を別の変数にコピーします。this

var object = {
    myfunc: function() {
        var myObject = this;
        $.ajax({

次に、代わりにその変数を使用します(同じ名前の別の変数でマスクしない限り、その変数内で宣言された関数のスコープ内になります)。

success: function() {
    console.log(myObject);
}
于 2013-04-25T13:27:47.100 に答える