jQuery ready()的四种变体--what';有什么区别?

jQuery ready()的四种变体--what';有什么区别?,jquery,dom,document-ready,Jquery,Dom,Document Ready,我已经看到了四种不同的方法来告诉jQuery在文档准备就绪时执行函数。这些都相等吗 $(document).ready(function () { alert('$(document).ready()'); }); $().ready(function () { alert('$().ready()'); }); $(function () { alert('$()'); }); jQuery(function ($) { alert('jQuery()')

我已经看到了四种不同的方法来告诉jQuery在文档准备就绪时执行函数。这些都相等吗

$(document).ready(function () {
  alert('$(document).ready()');
});  

$().ready(function () {
  alert('$().ready()');
}); 

$(function () {
  alert('$()');
});     

jQuery(function ($) {
  alert('jQuery()');
}); 

没有区别

$
jQuery
相同。如果查看未统一的源代码,您将看到
var$=jQuery=…
或类似的内容

jQuery
函数检查其参数的类型,如果它是一个函数,则将其视为与
$(document.ready(…)


在没有参数的情况下调用
jQuery
,默认情况下使用
document
。所以
$()
$(文档)
是相同的。在Firebug中试用。

关于:Geroge IV关于$()==$(文档)的评论是正确的。来自未统一的源(init是内部调用的):

也可从源代码处备份以前的对话:

// HANDLE: $(function)
    // Shortcut for document ready
    } else if ( jQuery.isFunction( selector ) )
        return jQuery( document ).ready( selector );

这应该是社区维基。我一直对jquery的内部工作方式很感兴趣,现在我有了一个开始寻找的借口:-)

这里还有一个——像这样开始

(function (jQuery) {
然后完成

})(jQuery);
例如:

还应该提到,,传递给函数的符号将在函数内部使用。例如:

$(function(jQuery) {
   // now I can use jQuery instead $
   jQuery("body").append("<div></div>"); // adds div to the end of body element
}); 
$(函数(jQuery){
//现在我可以改用jQuery了$
jQuery(“body”).append(“”;//将div添加到body元素的末尾
}); 
如果您想使用$-您可以在这种情况下将函数的参数保留为空


你可以在这里找到的真实例子

这并不能解释第二个“垃圾”,我以为我都找到了。等等。这是默认使用文档还是jQuery在未传递任何参数后通过链接返回的结果?既然您指出了这一点,那么$(window).ready()和$(document).ready()之间有什么区别吗?@David:run
$()
在firebug中,您将看到结果是带有1个元素--
文档的jQuery,我想,
$(窗口)。ready(…)
也可以。啊,我不知道怎么做,或者我是否可以,但我已经打开了一个链接到:-D
$(function(jQuery) {
   // now I can use jQuery instead $
   jQuery("body").append("<div></div>"); // adds div to the end of body element
});