初学javascript设计模式(三)组合模式第一遍遍阅读
来源:互联网 发布:越南芽庄网络怎么样 编辑:程序博客网 时间:2024/05/16 05:41
/*组合模式*//* 保存对象 */var SaveObj = {};/* 统一验证对象 */var Check = { IsNull: function() { if (this.GetVal().length > 0) { return this.GetVal(); } return false; }, IsNaN: function() { if (!isNaN(this.GetVal())) { return this.GetVal(); } return false; }}/* 叶对象超类 这个超类是为了确保所有的叶对象*/var BackLeaf = function() { }BackLeaf.prototype.Test = function() { throw Error("叶对象基类无法直接调用")};BackLeaf.prototype.GetVal = function() { throw Error("叶对象基类无法直接调用")};/* 文本框叶对象 */var TextLeaf = function(obj, checkType) { this._obj = $(obj); this.checkType = checkType; return this;};/* 继承叶对象超类 */TextLeaf.prototype = new BackLeaf();TextLeaf.prototype.Test = function() { return Check[this.checkType].call(this);}TextLeaf.prototype.GetVal = function() { return this._obj.val();}/* 组合对象 */var Combination = function() { this.Count = []; this.i = 0;}Combination.prototype.Add = function(obj) { this.Count.push(obj); this.i = this.Count.length}Combination.prototype.Test = function() { var ret = []; for (var i = 0; i < this.i; i++) { var _t = this.Count[i].Test() if (_t !== false) { ret.push(_t); } } return ret;}Combination.prototype.length = function() { return this.Count.length;}//var c = new Combination();//c.Add(new TextLeaf("#aa", "IsNull"));//c.Add(new TextLeaf("#bb", "IsNull"));//c.Add(new TextLeaf("#cc", "IsNaN"));//alert(c.Test().length === c.length());//利用组合模式编写验证功能基本完成,但是还不够好/***************************************************************/
明天再阅读一遍
- 初学javascript设计模式(三)组合模式第一遍遍阅读
- 初学javascript设计模式三)组合模式第二遍遍阅读
- 初学javascript设计模式(二)桥接模式第一遍遍阅读
- 初学javascript设计模式(一)工厂模式第一遍阅读
- 初学javascript设计模式(一)工厂模式第二遍阅读
- 初学javascript设计模式(二)桥接模式第二遍遍阅读
- 【设计模式】第一遍浏览
- 【初学设计模式】Composite (组合)
- JavaScript设计模式--组合模式
- Android设计模式初学:组合模式
- 被说了很多遍的设计模式---组合模式
- 设计模式阅读随笔—组合模式
- 设计模式阅读备忘笔记-组合模式
- 初学javascript设计模式(四)门面模式
- 初学javascript设计模式(五)适配器模式
- 《javascript设计模式与开发实践》阅读笔记(三)
- 《javascript设计模式与开发实践》阅读笔记(10)—— 组合模式
- 《javascript设计模式与开发实践》阅读笔记(10)—— 组合模式
- Repeater 绑定 误区记录
- DB2如何创建表空间 如何创建数据库 如何创建缓冲池
- COM技术入门基础知识
- 初学javascript设计模式(二)桥接模式第二遍遍阅读
- 在页面获取MVC路由参数
- 初学javascript设计模式(三)组合模式第一遍遍阅读
- javascript监听键盘事件
- 简明 Vim 练级攻略
- UNIX程序设计实验三 目录树的遍历
- Linux shell编程入门
- POI LastRowNum and PhysicalNumberOfRows
- Oralce中的to_date()函数
- FileSystemWatcher之错误处理
- android 简单动画实现