Versuchen Sie, den folgenden Code auszuführen:
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);
}
Das Ergebnis ist:
Wenn _C ((myobj.printMyName) aufgerufen wird, verweist this in der Funktion nicht auf den myobj-Objekt Wie soll das Problem gelöst werden?
Die Erfinder quantifizieren - Kleine Träume- Ich weiß nicht. Funktion MyClass (() { Vergleichswert Selbst.m_name = "Mein Name" - Ich weiß. Selbst.printMyName = Funktion () { Log ((selbst.m_name) zurückkehren wahr - Ich weiß. - Ich weiß. Rückgabe selbst - Ich weiß. Funktion main() { VAR myobj = MyClass (() myobj.printMyName() _C ((myobj.printMyName) - Ich weiß. - Ich weiß nicht.
Die Erfinder quantifizieren - Kleine TräumeDer Grund dafür ist, dass sich der This-Pointer nach der Übertragung von myobj.printMyName in _C geändert hat.
LichtungDanke!