このコードを実行してみてください.
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) true を返す { \ pos (192,220) } わかった 返信する { \ pos (192,220) } 機能 main (() { var myobj = MyClass (マイクラス) myobj.printMyName (myobj.printMyName) をクリックする _C ((myobj.printMyName) _ (C (myobj.printMyName) _) した { \ pos (192,220) } ` `
発明者 量化 - 微かな夢原因は,myobj.printMyName が _C に転送された後, this 指針が指向しているため.
ライトリングありがとうございました.