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")。

posted @ 2018-08-12 14:40  chrily  阅读(469)  评论(0编辑  收藏  举报