• 【转】区别 (function($){...})(jQuery)、$(function(){ })和$.fn


    一、(function($){…})(jQuery)
    首先function(arg){...}定义了一个匿名函数,参数为arg,而调用时需要在函数后面写上括号和实参,由于操作符的优先级,函数本身也需要括号,也就成了:
    (function(arg){...})(param)
    这就相当于定义了一个参数为arg的匿名函数,并将param作为参数来调用这个匿名函数
    而(function($){...})(jQuery)则是一样的,之所以只在形参使用$,是为了不与其他库冲突,所以实参用jQuery,其实就等于

    1.  
      var fn = function($){...};
    2.  
      fn(jQuery);

    其实可以这么理解,不过要注意的是fn是不存在的,函数直接定义,然后就运行了,然后就压缩成如下:
    (function($){...})(jQuery)

    二、$(function(){})
    是$(document).ready(function(){...})的简写形式,意思就是页面载入后执行其中的代码,也可以被写成:

    1.  
      jQuery(function(){...});
    2.  
      jQuery(document).ready(function(){...})

    两者相比:
    jQuery(function(){...});用于存放操作DOM对象的代码,执行其中代码时DOM对象已经存在。不可用于存放开发插件的代码,因为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法(函数)。
    (function(){...}(jQuery);用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码,请小心使用。
    简单理解是(function($){...})(jQuery)用来定义一些需要预先定义好的函数
    $(function(){...})则是用来在DOM加载完成之后运行/执行那些预先定义好的函数。

    开发jQuery插件时,一般先看jQuery(function(){...}),意义为在DOM加载完毕后执行了ready()方法,再看(function(){...})(jQuery).

    三、$.fn
    $.fn是指jQuery的命名空间,加上fn的方法及属性,会对每一个jquery实例有效。
    如定义了$.fn.initPageMe(),即对jQuery扩展了一个abc方法,那么后面你的每一个jQuery实例都可以引用这个方法了。

    1.  
      $.fn.initPageMe=function(opts){...}; //定义扩展方法
    2.  
      $(function(){
    3.  
      $(".pageMe").initPageMe(); //调用扩展方法
    4.  
      })

    四、$与$.fn
    $是jQuery的一种表现形式。
    jQuery的扩展方式有:

    1.  
      1.$.func1=function(){}
    2.  
      2.$.extend({func1:function(){}})
    3.  
      3.$.fn.func1=function(){}
    4.  
      4.$.fn.extent({func1:function(){}})

    $拓展的方法是静态方法,可以使用$直接调用,其拓展的方式有两种,一般使用$.extend({});;而$.fn拓展的方法是实例方法,必须由“对象”$("")来调用,其拓展的方式同样有两种,一般使用$.fn.extend({ })。

    其中,fn与prototype等同使用;jQuery.fn = jQuery.prototype

    参考引用:https://blog.csdn.net/felcon/article/details/52778324

  • 相关阅读:
    Windows Phone 独立存储(IsolatedStorageFile) 简单
    Windows Phone HttpWebRequest 简单
    PHP register_shutdown_function函数详解 简单
    sap 系统参数设置
    记帐码: (posting key)
    FICO 面试题
    RFUMSV00 营业税预先申报
    零售业附加商品的应用
    FI 财务会计事务码
    ABAP MODIF ID 作用
  • 原文地址:https://www.cnblogs.com/UUUz/p/11969048.html
Copyright © 2020-2023  润新知