Hãy thử chạy mã sau đây:
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);
}
Kết quả in là:
Khi gọi _C ((myobj.printMyName), this trong hàm không trỏ đến đối tượng myobj Xin hỏi, làm thế nào để giải quyết vấn đề này?
Những nhà phát minh định lượng - những giấc mơ nhỏ` ` hàm MyClass (() { var self = {} self.m_name = "Tên của tôi" self.printMyName = function () { Log ((self.m_name) trả về true } trả về bản thân } chức năng chính (() { var myobj = MyClass() myobj.printMyName() _C ((myobj.printMyName) } ` `
Những nhà phát minh định lượng - những giấc mơ nhỏNguyên nhân là myobj.printMyName đã chuyển vào _C, chỉ dẫn this đã thay đổi. Nguyên nhân là vấn đề.
ánh sángCảm ơn!