jQuery.extend()和jQuery.fn.extend()的区别

Posted crystal827

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery.extend()和jQuery.fn.extend()的区别相关的知识,希望对你有一定的参考价值。

jQuery.extend()一般用于扩展工具函数(也可以说是基于类的扩展)

jQuery.fn.extend()一般用于扩展自定义插件,即用在jQuery实例上的插件(基于对象的扩展)

如:

<div id="test"></div>

$(doument).ready(function() {

  $.fn.extend({

    sayHello: function() {

      console.log(this.html())

    }

  })

  $("#test").sayHello();   //$("#test")即为一个实例,sayHello为作用在该实例上的方法

})

 

其中方法中的this即是指向调用该方法的实例对象。

如新建一个对象:

var obj = {

  name: "crystal",

  say: function() {

    console.log(this.name);  //crystal    

  }

}

以上代码中的this即指向obj对象,同理,在$.fn.extend中,$("#test")即为实例对象,调用的方法sayHello()指向对象即$("test")。

以上是关于jQuery.extend()和jQuery.fn.extend()的区别的主要内容,如果未能解决你的问题,请参考以下文章

理解jquery的$.extend()$.fn和$.fn.extend()

JQuery的 jQuery.fn.extend() 和jQuery.extend();

jquery.extend()和jquery.fn.extend()

jquery的extend和fn.extend

区别和详解:jQuery extend()和jQuery.fn.extend()

区别和详解:jQuery extend()和jQuery.fn.extend()