整体架构
无new构建实例
总结
- 通过 new jQuery.fn.init() 构建一个新的对象,拥有 init 构造器的 prototype 原型对象的方法
- 通过改变 prototype 指针的指向,让这个新的对象也指向 jQuery 对象的原型 prototype
- 这样构建出来的对象就继承了 jQuery.fn 原型定义的所有方法了
原理图示:
链式调用
待补充。。。
插件接口
jQuery 支持自己扩展属性,对外提供了一个接口,jQuery.fn.extend() 来对对象增加方法
在jQuery中,接口方法的定义是这样的:
也就是说,两者指向的是同一个函数。前者是对 jQuery 本身的属性和方法进行拓展;后者是对 jQuery.fn,也就是 jQuery 的原型的属性和方法进行了拓展。而这样的功能就是通过 this 来实现。
源码: