jquery1.0通过类数组的方式管理并操作document对象,已达到简化对document对象操作的目的,通过jquery对象使用的方法就是jquery的实例方法(- -!)
实现结构
js通过原型对对象进行实例方法的拓展如
function Test(){} Test.prototype.run=function(){}//向Test添加实例方法run
所以很显然,一切对 jQuery.prototype 赋值的操作都是实力方法的添加如:
jquery1.0用了4个部分三种方式分别添加实例方法,可以想象到在js中维护js对象绝对不是一件简单的事...他(或者他们)可以在任何地方,任何方式添加他想到的方法,可见合理的分配布局和说明文档是维护js对象必要条件(当然这种很烦的特征有一种很好听的名字叫插件式/插拔式)
继承工具的实现
1.0
jquery1.0的继承工具仅仅只为自己内部使用,正常情况下this就是jquery本身或者jquery.fn,而对这两个属性进行操作就是添加静态方法/实例方法
1.11
在1.1开始extend方法就正式开始可以对外提供服务(其第一参数可以用来指定主体对象),1.2开始可以用来指定是否进行深copy,这里我贴最新的1.11(跟1.3已经很像了)
实例方法
需要jquery实例属性的方法
节点数组操作
dom属性操作
dom插入--包裹
dom插入--内部
dom操作--外部
dom--链式操作
dom操作--筛选
实例操作的核心方法
domMainp
pushStack
了解一下1.0的设计思路和原理对查看更新的源码很有帮助,在1.0实现的代码中能感觉到就算是大神,也很随性