$( function() {} );和$( function($) {} );和( function($){} )(jQuery);的异同

来源:互联网 发布:linux semaphore 编辑:程序博客网 时间:2024/05/20 00:12
[javascript] view plain copy
  1. $(function(){...});  
的完整写法是:
[javascript] view plain copy
  1. $(docunemt).ready(function(){...});  

意思是在DOM加载完毕后执行ready()方法。
[javascript] view plain copy
  1. (function($){...})(jQuery);  

等同于下面的写法:
[javascript] view plain copy
  1. var fun = function(params){....};  
  2. fun(jQuery);  

是立即执行匿名函数fun,这里参数是jQuery。这个写法主要目的是保证jQuery不与其他类库或变量有冲突。

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

在定义后就立刻执行, 在执行顺序上可能要先于

$(function(){});

其他的没啥区别 。

一个需要dom对象

一个不需要dom对象



$( function($) {} );

这个就是把jqueey对象给传进函数里面,据说是可以加快函数的速度。就算不传进去,他也会自动的在外层寻找合适的$jquery来执行jquery函数的。

这个倒不是重点。

重点就是那个《自调用匿名函数》的理解啦。



还有更复杂的,这个就是涉及到插件编程,你之所以会问这个问题,搞不好,现在正在看的代码就是公司自己写的jquery插件。

作为插件,所以要在运行之初就要运行。所以才会酱紫。

复杂样式如下:

(function($, window, document,undefined){})(jQuery, window, document);

这个也是类似的,只是多传了几个参数进去。具体这个是为什么呢

想了解的话,

真心有时间想深入的话,可以看下面的链接。

讲的就是jquey插件的编写,写的还是灰常的好的。

我是在这个博客的时候,又回来把本文修改的。

看完之后,你对js的理解应该又会加深不少。

链接:

http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html

阅读全文
0 0
原创粉丝点击