可能的重复项:
这些jQuery就绪函数之间有什么区别?
我一直使用:
$(document).ready(function (){
//Code goes here
});
并在其中插入了我的 jQuery/JavaScript 代码(这样它在运行任何代码之前等待 html 页面完全加载)。
最近,我看到了这个:
jQuery(function($){
//Code goes here
});
我已经搜索了这里的区别(主要是"jQuery"部分的全部内容)。
我的问题:
- 后一个代码块的
jQuery
部分有什么作用,如果有的话? - "($)"参数对该函数有什么作用?
- 我的两个代码块示例之间甚至有区别(除了使页面等待加载)吗?
主要区别在于$
变量周围的闭包。第一个代码段假设$
变量尚未释放(通过使用 .noConflict(),或者如果您正在使用的另一个库也使用 $
但不作为 jQuery 变量)。
第二种实现更安全,因为它不做任何假设,但允许内部代码通过将 $
变量设置为参数来安全地使用它。
这是一回事:
使用jQuery(function(){})
只是$(document).ready(function (){});
的简写
注意:您可以使用$
或jQuery
它们是一样的。 从文档中:
JQuery Call back (jQuery( callback ))
"这个函数的行为就像$(document).ready(),因为它应该用于包装页面上的其他$()操作,这些操作依赖于DOM的就绪性。虽然这个函数在技术上是可链接的,但链接它真的没有多大用处。
它们几乎相同。
在第二个函数中,您传入jQuery
即 $
到函数中。 $
是jQuery
的简写。
直接来自 jQuery 库代码,用于何时调用$()
// tests to see if you passed in a function
} else if (jQuery.isFunction(selector)) {
// adds the function to be called when jQuery fires the ready event
return rootjQuery.ready(selector);
}
评论是我的。