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:
Apabila _C ((myobj.printMyName) dipanggil, this dalam fungsi tidak menunjuk kepada objek myobj Bagaimana kita boleh menyelesaikan masalah ini?
Pencipta Kuantiti - Impian 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} ` `
Pencipta Kuantiti - Impian KecilSebabnya ialah myobj.printMyName telah memasuki _C, dan this pointer telah berubah.
pencahayaanTerima kasih!