在另一个函数中包装jquery函数调用背后的概念是什么?

时间:2011-12-29 20:10:23

标签: javascript jquery

使用此

之间有什么区别
jQuery(function(){
  jQuery('ul.sf-menu').superfish();
});

并且只是使用它?


jQuery('ul.sf-menu').superfish();

据我所知,它会产生相同的结果,但大多数官方代码参考都提出了前者。有人可以解释一下吗?

我仔细阅读了帖子What does (function($) {})(jQuery); mean?,但我仍然不确定区别是什么。

2 个答案:

答案 0 :(得分:4)

包装jQuery$内的任何功能可确保它在文档准备就绪时执行,而不是立即执行。

这将初始化文件就绪的插件,这将确保在页面上加载所需的插件脚本。

jQuery(function(){
  jQuery('ul.sf-menu').superfish();
});

或者您也可以使用此

jQuery(document).ready(function(){
   jQuery('ul.sf-menu').superfish();
});

一旦解析了代码,这将立即初始化,但如果未加载插件脚本,则可能会抛出错误,因此不推荐使用。

jQuery('ul.sf-menu').superfish();

答案 1 :(得分:4)

如果您使用jQuery()函数并将函数作为其参数,则它将充当$(document).ready()的别名。