Функция _C не получает правильного_this при использовании на функциях-членах своего класса

Автор:молнии, Создано: 2019-08-11 14:47:22, Обновлено: 2019-08-11 14:50:47

Проверьте следующий код:

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

Напечатанные результаты:

  • Моё имя.
  • нулевой

Это означает, что при вызове _C ((myobj.printMyName) функция this не указывает на объект myobj. Как решить эту проблему?


Больше

Маленькие мечты` ` функция MyClass (() { var self = {} self.m_name = "Мое имя" self.printMyName = функция () { Регистрация ((self.m_name) вернуть истинное Я не знаю. возвращать себя Я не знаю. функция main() { var myobj = MyClass (() myobj.printMyName (() _C ((myobj.printMyName) Я не знаю. ` `

Маленькие мечтыПричина в том, что после передачи myobj.printMyName в _C, this указатель изменился.

молнииСпасибо!