Tôi về cơ bản có một đối tượng, được mở rộng với hàm thông qua mẫu thử nghiệm của nó. Bên trong hàm đó, một hàm khác tồn tại, tuy nhiên khi sử dụng this
trong hàm lồng nhau này, nó dường như không chỉ đến đối tượng, mà là hàm.'this' trong hàm bên trong hàm nguyên mẫu
Ví dụ,
var sampleObject = function() {
this.foo = 123;
}
sampleObject.prototype.getFoo = function() {
var nested = function() {
return this.foo;
}
return nested();
}
var test = new sampleObject();
window.alert(test.getFoo()); // undefined
Các this.foo
không đề cập đến giá trị 123, nhưng không xác định vì điều này liên quan đến chức năng lồng nhau, trong đó không có foo
tồn tại. Làm thế nào tôi có thể truy cập giá trị 123 từ hàm lồng nhau?
Cảm ơn.
bản sao có thể có của [Trong Javascript, tại sao toán tử "này" không phù hợp?] (Http://stackoverflow.com/questions/80084/in-javascript-why-is-the-this-operator-inconsistent) –