Vous y accédez à partir d'un objet est fonction inline

Je vais avoir des difficultés de référencement "ce" de dans un javascript de la fonction inline, au sein d'une méthode de l'objet.

var testObject = {
    oThis : this,
    testVariable : "somestring",
    init : function(){

       console.log(this.testVariable); //outputs testVariable as expected

       this.testObject.submit(function(){

            var anotherThis = this;
            console.log(this.testVariable) //undefined
            console.log(oThis.testVariable) //undefined
            console.log(testObject.testVariable) //outputs testVariable 
            console.log(anotherThis.testVariable) //undefined

    }

}

Comment puis-je accéder à this.testVariable de l'intérieur de la fonction envoyer?
Je suis aussi à l'aide de jQuery ainsi, si cela fait une différence.

Je me demande si c'est la meilleure approche et je devrais peut-être présenter comme une fonction distincte, puis de référence qui inline, comme:

 init : function(){

    this.testObject.submit = this.submitForm;

 },
 submitForm : function(){
     //do validation here
     console.log(this.testVariable) //outputs testvariable

     .
     .
     .

     return valid; 
 }

Mais cela ne semble pas fonctionner non plus - et je pense que je voudrais juste garder les soumettre fonction inline dans mon init méthode pour l'instant.

OriginalL'auteur Matt | 2010-08-28