Tôi là một chút bối rối như những gì xảy ra khi tôi gọi đoạn mã sau:Hiểu "này" bối cảnh với goog.bind và goog.net.Xhrio.send
goog.net.XhrIo.send("/welcome", goog.bind(this.handleWelcome, this));
Tôi có một chức năng với điều này chữ ký:
myproject.MyClass.prototype.handleWelcome = function(response)
Trước khi tôi bị ràng buộc, bối cảnh xử lýChào mừng bạn không có quyền truy cập vào các trường mẫu của lớp Javascript myproject.MyClass (dễ hiểu). Theo thông tin here, bây giờ tôi có ngữ cảnh của cá thể lớp. Tất cả tốt và tốt.
Ngữ cảnh của "điều này" trước khi tôi thực hiện thay đổi là gì?
Hãy tha thứ cho bất kỳ thành ngữ không phải Javascript nào tôi đang sử dụng - Tôi quen thuộc hơn nhiều với Java và có thể đang sử dụng hàng loạt các thuật ngữ.
EDIT
Ban đầu tôi đã có một số câu hỏi về những lập luận gì được trao cho gọi lại (trong trường hợp này một sự kiện với mục tiêu của loại goog.net.Xhrio) nhưng câu hỏi chính là về khoảng điều này và ràng buộc, vì vậy tôi loại bỏ các tiếp tuyến của q.
Ahh thú vị. Vì vậy, một nơi nào đó nó sử dụng 'gọi' để gọi welcomeHandler của tôi với một số đối số? Tôi nghĩ rằng nó kết thúc là một XmlHttpResponse hoặc một cái gì đó như thế. –
Tôi thực sự không biết nó đang làm gì; nó có thể làm một ".call()" hoặc nó có thể đang làm một cái gì đó khác. Vấn đề là nếu bạn không biết khung làm gì, thì bạn không biết. – Pointy