有什么区别:
$(document).ready(function() {// Do something});
和
$(function() {//Do something});
在 jQuery 中?
有什么区别:
$(document).ready(function() {// Do something});
和
$(function() {//Do something});
在 jQuery 中?
如果我简而言之,它们是alias。它们是等价的。
$(document).ready(function() {
})
$().ready(function() {
// this is not recommended
})
$(function() {
});
都是一样的。
jQuery 开发者推荐使用:
$(document).ready(function() {
});
为什么$().ready()
不推荐看看为什么不推荐“$().ready(handler)”?
$(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;
},
没有。
来自 jQ API:
以下所有三种语法都是等效的:
$(document).ready(handler) $().ready(handler) (this is not recommended) $(handler)
它们是相同的(意味着它们做同样的事情)。从 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(
处理程序。