Jquery源码解析(jQuery的遍历结构设计)
来源:互联网 发布:linux 复制所有内容 编辑:程序博客网 时间:2024/06/05 16:10
遍历的接口我们可以归为几大类:
1 祖先
2 同胞兄弟
3 后代
4 过滤
遍历的接口很多都是具有相似或者说是一类的处理功能,那么这种接口的设计我们不能就事论事的一个一个去实现,这样代码就会显得非常累赘也不容易维护,那么就这么几大类Query分了好几十API出来,丰富的接口可以让高层的设计更为简单。但是框架内部的却要简练。那么针对这种类似功能的接口,jQuery内部就会做更多的抽象处理了。
1.针对层级关系的处理,jQuery就抽出了一个dir的方法,用于根据传递的元素与词素的位置关系,查找指定的元素。
parent,parents,parentsUntil等方法如代码所示:
function dir(elem, dir, until) { //参考右边代码 return matched;}
2.我们在上半部的第一章中就提到过迭代器,迭代器是一个框架的重要设计。
我们经常需要提供一种方法顺序的用来处理聚合对象中各个元素,而又不暴露该对象的内部,这也是设计模式中的迭代器模式。
迭代器除了单纯的遍历,在jQuery内部的运用最多的就是接口的抽象合并,相同功能的代码功能合并处理:
jQuery.each({ parent: function(elem) {}, parents: function(elem) {}, nextAll: function(elem) {}, prevAll: function(elem) {}, ................}, function(name, fn) { api[name] = function(until, selector){ //代码右图 };});
可以看出上面代码方法,针对相同的功能,节约了大量的代码空间。
阅读全文
0 0
- Jquery源码解析(jQuery的遍历结构设计)
- jquery源码解析之遍历同胞(上)
- jquery源码解析之遍历同胞(下)
- jquery源码解析之遍历后代
- jquery遍历详细解析
- JQuery validation源码解析
- jquery源码解析
- jquery源码解析
- jquery源码解析资料
- jQuery.extend()源码解析
- jQuery 源码解析(一)
- jquery源码解析1
- 浅谈jquery源码解析
- jQuery源码解析data
- 关于JQuery源码解析
- jquery.parser源码解析
- jquery源码解析
- jQuery.lazyload源码解析
- Java 8 Optional类深度解析
- ubuntu修改DNS重启有效
- 自问自答3——深度学习中如何避免梯度消失(待回答)
- 仿京东下拉刷新动画
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.7输入输出流(4.7.4-4.7.6)
- Jquery源码解析(jQuery的遍历结构设计)
- 版本控制工具git详细说明
- HoloLens开发笔记-资料整理-Input-Gesture
- Code::Blocks 未定义的错误
- org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory
- SQLServer通过函获取订单编号
- socket编程 服务器端编程
- Ubuntu Server VS Ubuntu Desktop区别
- 顶宽的div中的英文不能自动换行