【发布时间】:2012-06-14 14:50:39
【问题描述】:
我知道如何使用 jQuery 的$(this) 选择器,也了解 Javascript 中的 OOP 原理。我一直认为它只是有效,因为其他人实现了它,但我很想知道它为什么以及如何有效。
$(function(){
$('.foo').each(function(){
console.log($(this));
});
});
鉴于此代码。我知道$('.foo') 找到一组 HTML 元素并返回一个 jQuery 对象,该对象能够使用 .each(...) 对其进行迭代。 each() 方法的内部结构然后可能会调用已作为参数传递的闭包。
但是为什么this 会引用闭包内的特定 HTML 元素呢?我一直认为this 只会引用一个新范围,只要它的包装器是使用new 实例化的。那么如果this 引用window 会不会更加一致?
【问题讨论】:
-
this在 javascript 中很奇怪。搜索网络,你会发现很多人解释它的博客文章
标签: javascript jquery this internals