1.0古董版,github上木有的
开启流水账模式
当年,window下还没有undefined方法,通过不存在的属性获取undefined是可靠地,但你需要保证他的确不存在
void 0;也是不错的选择
Jquery() 那时还是个逗比,跟原型无关,他只是一个单纯地函数,主要用户方法的回调,和jq对象的产生,在产生jquery对象时,会对获取的数据进行多次数据验证
各种花式判断,可是js中多态的正确使用姿势
jquery拒绝污染原生js,所有的一切由入口$开始进行,但是$可是香饽饽
由此开始,就这么开始进行封装了,api考虑的无非就是易用,友好,稳定,高效这些万能的词汇
获取
size()
get(index) 获取dom
index(dom) 获取索引
操作--属性
attr(key,value) 无视第三参数,内部用的
快捷属性css
css(key,value)
操作--外部
wrap() 包裹
before()
after()
操作--文本
text()
append()
prepend()
链式操作--维护
end
add
clone
pushStack
链式操作--遍历
find 后代查询,后代的个数不可预测,可能会越来越多的
each 节点遍历foreach
filter 自身过滤
not 剔除
is 判断
jquery是一个一个类库,一个面向对象工具库他由维护对象容器发放依赖对象,交给不依赖任何属性的工具方法,这里才是真正的实现,对象中的存在可以立即为代理
domManip函数
对节点添加划分出了一个domMainip函数,这个函数需要一个fn参数,有点像c#中的委托,不管怎样,的确是一个非常有意思的方式,这就是js中的高阶函数,需要一个fn参数或返回一个fn就是高阶函数
链式操作--记录历史状态
在jquery进行查询的时候,返回this,可以达到简单的链式功能,但链式操作也是非常有意思的规范的,至少你需要可以返回上一个节点,至此,单纯返回this已经不能满足链式操作规范,如果让你来实现这种规范,你会使用Stack吗?
原文:http://www.cnblogs.com/liuCy/p/4359731.html