Jquery plugin:how 声明不同语法的函数

Jquery plugin:how to declare functions with different syntax

我对 jquery.When 很陌生,我浏览了示例 jquery 插件,我注意到各种函数声明 syntax.Those 如下:

(function($){
  function function_name1()
  {
      //function body 
  }

  var _function_name2  = function(options){
      //function body 
  };

  $.fn.function_name3 = { 
             function_name4:function(){ //function body },
             //function body 
  };

  $.fn.function_name5 = function(){
             //function body 
  }
}(jQuery));

我只知道function_name5syntax.So请大家提前帮我找出区别too.Thanks

下面其实是一个函数语法,

function function_name1()
  {
      //function body 
  }

为了避免上述函数落在全局范围内,我们将其包装为如下所示的立即函数调用,这意味着函数本身将立即被自身调用。

(function($){

   ....

}(jQuery));

下面一个基本上是一个函数变量,被称为匿名函数。

var _function_name2  = function(options){
      //function body 
  };

原因是当函数内部发生错误时,堆栈跟踪不会显示变量名,而是显示为匿名函数。但是您可以使用以下语法获得相同的函数名称。

var _function_name2  = function _function_name2(options){
      //function body 
  };

下面的函数实际上不是直接调用的函数,它们将与任何 dom 元素或元素数组一起调用,函数中的 $(this) 将 return 相同dom 个元素。这些通常称为 jquery 插件。

$.fn.function_name5 = function(){
             //function body 
  }

希望你明白了。