Type/to search
2
Follow
1
Followers
Ao usar a função _C em uma função de membro de classe personalizada, o this correto não é obtido
Help
Created 2019-08-11 14:47:22  Updated 2019-08-11 14:50:47
 3
 1844

Teste o seguinte 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); }

O resultado da impressão é:

  • my name
  • null

Ou seja,_C ((myobj.printMyName) quando chamado, a função this não aponta para o objeto myobj
Como resolver este problema?

Related Recommendations
Comment
All comments (3)
    function MyClass() { var self = {} self.m_name = "My Name" self.printMyName = function () { Log(self.m_name) return true } return self } function main() { var myobj = MyClass() myobj.printMyName() _C(myobj.printMyName) }
    7 years ago

    多谢!

    7 years ago

    原因是 myobj.printMyName 传入 _C 后, this 指针指向 变了。导致的问题。

    7 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)