Ai đó có thể vui lòng giải thích tại sao 'this' trong các điểm sau đây đối với DOM Object chứ không phải để Window?Giá trị của 'điều này' trong Javascript
$("a").click(function() {
console.log(this);
});
Điều này mang đến:
<a id="first" href="http://jquery.com">
Hãy xem xét những điều sau đây mà nên cùng một kịch bản:
function Foo() {
this.click = function(f) {
f();
}
}
var obj = new Foo();
obj.click(function() {
console.log(this);
});
Những gì chúng ta có được ở đây các đối tượng Window (những gì tôi đã dự kiến) là.
jQuery thao tác 'này' khi cần. – Blaster
Như thường lệ, MDN có một số thông tin tốt về điều này: https://developer.mozilla.org/en/DOM/element.addEventListener#The_value_of_this_within_the_handler – Niko
Tôi nghĩ người bạn nên hỏi là John Resig, người chịu trách nhiệm về khái niệm này xa như tôi có thể nói - tôi tin rằng đó là việc của anh ấy. Tin hay không - nhưng anh ấy cũng là [thành viên tích cực ở đây] (http://stackoverflow.com/users/6524/john-resig). :) –