jQuery插件的立即执行匿名函数

匿名函数:就是指没有函数名的函数。
jQuery的“立即执行匿名函数”结构:
(function(){
     //此处为jquery的逻辑代码
})()

使用()将匿名函数括起来,然后后面再加一对小括号(包含参数列表)。例子如下:

alert((function(x,y){return x+y;})(2,3));                  // "5"  
alert((new Function("x","y","return x*y;"))(2,3));    // "6"  

很多人或许会奇怪,为什么这种方法能成功调用呢?觉得这个应用奇怪的人就看一下我以下这段解释吧。

  大家知道小括号的作用吗?小括号能把我们的表达式组合分块,并且每一块,也就是每一对小括号,都有一个返回值。这个返回值实际上也就是小括号中表达式的返回值。所以,当我们用一对小括号把匿名函数括起来的时候,实际上小括号对返回的,就是一个匿名函数的Function对象。因此,小括号对加上匿名函数就如同有名字的函数般被我们取得它的引用位置了。所以如果在这个引用变量后面再加上参数列表,就会实现普通函数的调用形式。

其实命名函数也可以通过()去立即执行,代码:
(function xieRan(){
      alert("my name is xieRan")
})();

jQuery就是一个大的立即执行匿名函数。

jQuery插件代码格式:

;(function($){// 可以去掉开头的 ; (分号),国外的开发人员编写的插件时的一种习惯 
     $.fn.pluginName = function() {     
           // Our plugin implementation code goes here.     
     };
})(jQuery);    //传入一个jQuery的参数(其是就是匿名函数的参数$的值为jQuery),是因为该方法是对jQuery库的扩展,那么在该方法体内就可以调用jQuery库中的函数;若不传入,则无法调用jQuery库 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。