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