摘要: 这次我们提议的架构使用了我们都很熟知的设计模式:module, facade和mediator。Module模式 1、module模式是一个比较流行的设计模式,它可以通过大括号封装私有的变量、方法、状态等,通过包装这些内容,一般全局的对象不能直接访问,在这个设计模式里,只返回一个API,其它的内容全部被封装成私有; 2、这个模式和自执行的函数表达式比较相似,唯一不同的是module模式返回的是对象,而自执行函数返回的是function; 3、javascript没有声明private、public修饰符,我们可以通过return语句返回我们要公共的方法,达到public效果,... 阅读全文
posted @ 2013-08-02 23:41 microsoftzhcn 阅读(275) 评论(0) 推荐(0) 编辑
摘要: /** 变量*/var G = { baseUrl: "", debug: "debug", //调试logger组件 browser: {}, //浏览器 platform: {}, //操作系统 errors: { //错误提醒 "-1": "undefined error" }, errorHandlers: {}, //colorbox_up start analysis: true, loadedScripts: ... 阅读全文
posted @ 2013-08-02 19:03 microsoftzhcn 阅读(1319) 评论(0) 推荐(0) 编辑
摘要: 来源:http://blog.leezhong.com/tech/2010/11/29/javascript-arch.html目前很多网站基本没有明确的前端架构,大多是服务端渲染视图页,输出到浏览器,再配合一些js,来进行交互。如果只是实现一些简单的效果,没有较复杂的逻辑,那么这种处理是合理的,尤其是有了jQuery之类的利器,js代码写起来甚至有种随心所欲的感觉。但一旦网站要改版,或者随着网站的发展,逻辑变得越来越复杂,或者为了更好的用户体验,js要承担更多的任务,这时如果维持现状不变,那js就会变得越来越臃肿,越来越难维护。解决之道就是采用模块化编程,将页面分成多个模块,模块之间互相独立 阅读全文
posted @ 2013-08-02 18:10 microsoftzhcn 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 1、获取字符串字节数//获取字符串字节数//方法一/* */String.prototype.getBytesLength = function () { var length = 0; for (i = 0; i = 0 && iCode = 0xff61 && iCode <= 0xff9f)) { length += 1; } else { length += 2; } } return length;}//方法二/* */String.prototype.getBytesLength = f... 阅读全文
posted @ 2013-08-02 17:57 microsoftzhcn 阅读(244) 评论(0) 推荐(0) 编辑