在jQuery网站上,对$(callback)
的描述是它的行为与$(document).ready(function)
相同,但随后的示例显示了两种语法之间的一些差异。所以我想知道,有人确切知道两者之间的区别吗?
没有差异,文档也没有显示任何差异:
以下三种语法都是等效的:
- $(文档(.ready(处理程序(
- $((.ready(处理程序((不建议这样做(
- $(处理程序(
直接来自:http://api.jquery.com/ready/
我想你被显示jQuery(function($){ ... });
的例子弄糊涂了这只是调用$(handler)
的一种方式,没有$
冲突。
即。
// Here `$` is used by another library
jQuery(function($){
// Here `$` refers to jQuery
});
$(document).ready(function() {
// Handler for .ready() called.
});
相当于调用:
$(function() {
// Handler for .ready() called.
});
http://api.jquery.com/ready/
没有任何区别,只是快捷方式稍微慢了一点,因为它必须决定参数的类型,然后调用$(document).ready
。(事实上,jQuery的源代码非常干净,所以你可以很容易地自己检查——$()
调用$.fn.init
,它经过几次测试,然后在第177行调用ready
。(
没有区别。如果您只使用一个参数(一个函数:$(some_function)
(调用$()
,则意味着它将调用$(document).ready(some_function)
因此,为了简单起见,您可以使用:
$(function(){
// your code
});
附言:如果您使用不同的库(可能与$variable冲突(,请不要使用此结构。在这些情况下使用:
jQuery(function(){
// your code
});