有什么区别:
$(document).ready(function() {// Do something});
和
$(function() {//Do something});
在jQuery中?
答案 0 :(得分:4)
如果我简单地尝试,那么它们是别名。它们是等价的。
$(document).ready(function() {
})
$().ready(function() {
// this is not recommended
})
$(function() {
});
一切都一样。
jQuery开发人员建议使用:
$(document).ready(function() {
});
为什么$().ready()
不建议参见Why "$().ready(handler)" is not recommended?
答案 1 :(得分:3)
没有。
来自jQ API:
以下所有三种语法都是等效的:
$(document).ready(handler) $().ready(handler) (this is not recommended) $(handler)
答案 2 :(得分:3)
$(document).ready(handler)
$().ready(handler) (this is not recommended)
$(handler)
是等价的。
实际上,你可以在任何 jQuery对象上调用.ready(handler)
,无论它包含什么,它都会做同样的事情:
ready: function( fn ) {
// Attach the listeners
jQuery.bindReady();
// Add the callback
readyList.add( fn );
return this;
},
答案 3 :(得分: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(
处理程序。