$.fn.each over Function 对象
$.fn.each over Function objects
为什么这个代码 returns "true"?
var object = {one: 1, two: 2};
$(object).each(function () {
console.log(this === object); // returns "true"
});
而这段代码 returns "false"?
var object = function() {};
$(object).each(function () {
console.log(this === object); // returns "false"
});
不应该 return "true" 吗?
谢谢。
您的第一个示例创建了一个 disconnected jQuery 对象(即未连接到 DOM 元素)并遍历该单个元素,因此 this
是你的对象。
第二个实际上将该函数用作 DOM 就绪事件处理程序!
例如$(function(){});
实际上是 $(document).ready(function(){});
的快捷方式,因此 this
实际上是 document
,这显然不是您的函数对象。
为什么这个代码 returns "true"?
var object = {one: 1, two: 2};
$(object).each(function () {
console.log(this === object); // returns "true"
});
而这段代码 returns "false"?
var object = function() {};
$(object).each(function () {
console.log(this === object); // returns "false"
});
不应该 return "true" 吗? 谢谢。
您的第一个示例创建了一个 disconnected jQuery 对象(即未连接到 DOM 元素)并遍历该单个元素,因此 this
是你的对象。
第二个实际上将该函数用作 DOM 就绪事件处理程序!
例如$(function(){});
实际上是 $(document).ready(function(){});
的快捷方式,因此 this
实际上是 document
,这显然不是您的函数对象。