2

有什么区别:

$(document).ready(function() {// Do something});

$(function() {//Do something});

在 jQuery 中?

4

4 回答 4

4

如果我简而言之,它们是alias。它们是等价的。

笔记

$(document).ready(function() {

})


$().ready(function() {
  // this is not recommended
}) 

$(function() {

});

都是一样的。


更多的

jQuery 开发者推荐使用:

$(document).ready(function() {

});

为什么$().ready()不推荐看看为什么不推荐“$().ready(handler)”?

于 2012-06-05T09:28:51.807 回答
3
$(document).ready(handler)
$().ready(handler) (this is not recommended)
$(handler)

是等价的。

实际上,你可以调用.ready(handler)任何jQuery对象,无论它包含什么,它都会做同样的事情:

ready: function( fn ) {
    // Attach the listeners
    jQuery.bindReady();

    // Add the callback
    readyList.add( fn );

    return this;
},
于 2012-06-05T09:33:02.700 回答
3

没有。

来自 jQ API:

以下所有三种语法都是等效的:

 $(document).ready(handler)
 $().ready(handler) (this is not recommended)
 $(handler)

http://api.jquery.com/ready/

于 2012-06-05T09:30:11.780 回答
2

它们是相同的(意味着它们做同样的事情)。从 doc 检查这些行

All three of the following syntaxes are equivalent:

$(document).ready(handler)
$().ready(handler) (this is not recommended)
$(handler)

实际上$(handler)是一个硬编码的快捷方式$(document).ready(handler)。在这里的源代码http://code.jquery.com/jquery.js如果你搜索rootjQuery你很快就会找到这些行

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

或查看此链接https://github.com/jquery/jquery/blob/37ffb29d37129293523bf1deacf3609a28b0ceec/src/core.js#L174以了解

表示如果传递selector的是一个函数,那么它被用作$(document).ready(处理程序。

http://api.jquery.com/ready/

还要检查哪个 JQuery document.ready 更好?

于 2012-06-05T09:29:22.403 回答