Les ressources ont été chargées... Je charge...

L'utilisation de la fonction _C sur les fonctions membres de la classe personnalisée n'a pas obtenu le bon this

Auteur:éclaircissement, Créé: 2019-08-11 14:47:22, mis à jour: 2019-08-11 14:50:47

Essayez d'exécuter le code suivant:

function MyClass()
{
    this.m_name = "my name";
}

MyClass.prototype.printMyName = function()
{
    Log(this.m_name);
    return true;
}

function main() {
    var myobj = new MyClass();
    myobj.printMyName();
    _C(myobj.printMyName);
}

Les résultats sont imprimés:

  • Je m'appelle
  • Nul

Lorsque _C ((myobj.printMyName) est appelé, this dans la fonction ne pointe pas vers l'objet myobj. Comment résoudre ce problème?


Plus de

L'inventeur de la quantification - un petit rêveJe ne sais pas. fonction MyClass (() { le nombre d'heures de travail Je ne peux pas vous aider. Je suis désolée. Le code est le même que celui de l'image. Log ((self.m_name) retourner vrai Je ne sais pas. Je suis désolée. retourner soi-même Je ne sais pas. fonction principale Var myobj = MyClass (en anglais seulement) myobj.printMyName (en) Je ne sais pas si je peux le faire. Je ne sais pas. Je ne sais pas.

L'inventeur de la quantification - un petit rêveLa raison en est que myobj.printMyName a été transmis à _C, ce pointeur a été modifié.

éclaircissementMerci!