jQuery中的 $.extend 和 $.fn.extend 的区别

$.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原型 上的方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文链接 http://blog.poetries.top/2016/10/20/review-jQuery 关注...
    前端进阶之旅阅读 16,673评论 18 503
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,367评论 0 2
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,199评论 0 1
  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 114,611评论 24 450
  • JQuery 1、JQuery特点 (1)轻量级(2)链式语法(3)简单(4)写的更少,做的更多 2、本地调用: ...
    Lizzy95阅读 270评论 0 1