jQuery中的 $.extend 和 $.fn.extend
2016-09-28 本文已影响0人
YHuang
$.extend 是拓展 jQuery 类的方法
// 类似于:
var $ = { }
// 经过下面这个过程之后:
$.extend({
add: ( a, b ) => a + b
})
// $ 对象变成:
$ = {
add: ( a, b ) => a + b
}
// 即可像这样调用 $.add( 4, 5 ) 输出 9 这个add是一个静态方法
$.fn.extend 是拓展jQuery对象的方法
所谓jQuery对象,也就是类似$('#id')返回的对象,你可以这样用: $('#id').removeClass('class')
$.fn.extend({
val: function() { return this.value }
})
// 之后你就可以用 $('#id').val() 获取元素的 value了
因为 jQuery.fn = jQuery.prototype
拓展 jQuery.fn
实际上就是拓展 jQuery.prototype
上面的做法实际就是:
jQuery.prototype.val = function() { return this.value }
那么在使用 $('#id') 之后会返回一个实例化的 jQuery对象,这个对象就共享了 jQuery原型 上的方法