Cuando usamos la función_C en una función miembro de la clase personalizada, no obtenemos el correcto this

El autor:el rayo, Creado: 2019-08-11 14:47:22, Actualizado: 2019-08-11 14:50:47

Pruebe a ejecutar el siguiente código:

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);
}

El resultado impreso es:

  • Mi nombre.
  • No hay nada

Cuando se llama _C ((myobj.printMyName), this dentro de la función no apunta al objeto myobj. ¿Cómo resolver este problema?


Más.

Un sueño pequeño.¿ Qué pasa? Función MyClass (() { el valor de la misma = { self.m_name = "Mi nombre" - ¿ Qué? self.printMyName = función () { Registro (nombre propio) devuelve verdadero ¿ Por qué? - ¿ Qué? Volver a sí mismo ¿ Por qué? Función principal var myobj = MyClass (() myobj.printMyName (() _C ((myobj.printMyName) ¿ Por qué? ¿ Qué pasa?

Un sueño pequeño.Esto se debe a que después de que myobj.printMyName ingresó a _C, este puntero se dirigió a un problema.

el rayo¡Gracias!