简单谈谈jQuery(function(){})与(function(){})(jQuery)

开发jQuery插件时总结的一些经验分享一下。

一、先看 jQuery(function(){ }); 全写为 jQuery(document).ready(function(){ });

意义为在DOM加载完毕后执行了ready()方法

二、再看 (function(){ })(jQuery); 其实际上是执行()(para)匿名方法,只不过是传递了jQuery对象。

(function($) {…})(jQuery);

这里实际上是匿名函数,如下:

function(arg){…} 这就定义了一个匿名函数,参数为arg

调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即: (function(arg){…})(param) 这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数

而(function($){…})(jQuery)则是一样的,之所以只在形参使用$,是为了不与其他库冲突,所以实参用jQuery 相当于funtion output(s){…};output(jQuery);或者var fn=function(s){…};fn(jQuery);

$(function(){…});

或者:

jQuery(function($) { … });

允许你绑定一个在DOM(不包含图片)文档载入完成后执行函数。这个函数的作用如同$(document).ready()一样,只不过用这个函数时,需要把页面中所有需要在 DOM 加载完成时执行的$()操作符都包装到其中来。从技术上来说,这个函数是可链接的--但真正以这种方式链接的情况并不多。

全写是: $(document).ready(function(){ … });

三、总结

jQuery(function(){ });用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在。不可用于存放开发插件代码,因为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法函数)。 (function(){ })(jQuery);用于存放开发插件代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码请小心使用。

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...