2
フォロー
1
フォロワー

カスタムクラスメンバー関数で_C関数を使用すると、正しいthisが取得されません。

作成日:: 2019-08-11 14:47:22, 更新日:: 2019-08-11 14:50:47
comments   3
hits   1522

このコードを実行してみてください.

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

印刷した結果:

  • my name
  • null

つまり_C ((myobj.printMyName) を呼び出すとき,関数の this は myobj オブジェクトに指さていません. この問題はどのように解決されるのでしょうか?