Apabila menggunakan fungsi _C pada fungsi ahli kelas tersuai, ini tidak diterima

Penulis:pencahayaan, Dicipta: 2019-08-11 14:47:22, Dikemas kini: 2019-08-11 14:50:47

Cuba gunakan kod berikut:

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

Hasil cetakan ialah:

  • Nama saya
  • tiada

Apabila _C ((myobj.printMyName) dipanggil, this dalam fungsi tidak menunjuk kepada objek myobj Bagaimana kita boleh menyelesaikan masalah ini?


Lebih lanjut

Mimpi kecil` ` fungsi MyClass (() { var sendiri = {} self.m_name = "Nama Saya" self.printMyName = fungsi () { Log ((self.m_name) Kembali benar {C:$0000FF} kembalikan diri {C:$0000FF} fungsi utama var myobj = MyClass() myobj.printMyName() _C ((myobj.printMyName) {C:$0000FF} ` `

Mimpi kecilSebabnya ialah myobj.printMyName telah memasuki _C, dan this pointer telah berubah.

pencahayaanTerima kasih!