自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

Javascript 的函数式对象(九)利用事件机制降低耦合

  大多数简单的页面应用,js可以写得较为自由随意,但涉及对象众多,关系复杂的 One Web Page 企业应用,   常常需要考虑如何降低js对象间的耦合,那种“你中有我,我中有你”的代码编写方式,会让维护人员无法接手。   因为工作关系,我曾接手过一个包含数千行js代码的项目。该项目的开发团队在国外,当时也还处于开发阶段。   缺少文档,遇到问题只能发邮件询问国外的开发团队,时...

2010-11-09 01:28:43 159

Javascript 的函数式对象(八)DOM对象管理器

开发一个交互式的Web页面,用来显示信息或接受用户输入的对话框必不可少。   对话框的创建对应着页面上若干DOM节点的生成和插入,考虑到移除这些DOM节点的开销,   对话框的关闭只是将这些DOM节点在页面上设置为不显示。下面是一个js生成对话框的示例:   var Dialog = function(){ this.element = document.createE...

2010-11-07 03:28:02 178

Javascript 的函数式对象(七)配置注入式线程类

  ExtJS 中所谓的“线程类“ TaskRunner 和 DelayedRunner,本质上都是调用了window对象的 setInterval 方法。   setInterval 的第一个参数是一段js代码,第二个参数是毫秒值。它将作为参数传入的js代码每隔一段时间调用一次,   两次调用间的时间间隔由第二个参数指定,直到 setInterval 返回的计数器被 clearInte...

2010-11-06 02:40:21 108

Javascript 的函数式对象(六)利用闭包模拟静态常量

  js的闭包特性,还可用来模拟java中的final静态常量,   这些常量在定义时被赋值,可被外部访问,但不能被修改。     // 这个Constant类用来保存应用中的所有final静态常量 var Constant = (function(){ //不可被外部访问的闭包私有静态变量 var constants = { VERSION: 7.5 }; ...

2010-11-03 00:50:40 149

Javascript 的函数式对象(五)配置注入式继承

在EXT中,像下面这样实例化对象的方式很常见:   var extWindow = new Ext.Window({ title: 'EXT WINDOW', modal: 'true', width:800, height:250, ...... });   在创建实例的过程中,Ext.Window类的构造方法被注入一个config对象。   该con...

2010-11-02 01:39:57 109

Javascript 的函数式对象(四)多亲继承( Multiple Inheritance )

  所谓的“多亲继承”,同样是借用面向对象语言的说法。   以前看过一些文章,介绍如何让js拥有面向对象语言的“继承”特性。   但在实际项目中,很少使用这些晦涩的方法来模拟“继承”的实现。   既然js提倡的是函数式编程,那就让我们忘掉“继承”,“接口”这些OO特性,   体验函数式编程的代码重构方法,达到“提取共性,封装变化”的目的。   //借用策略模式的思路,创建功能...

2010-10-31 20:38:36 147

Javascript 的函数式对象(三)利用闭包模拟类的静态变量和方法

        除了模拟类的私有变量和私有方法。闭包还可用来模拟类的静态变量和方法。   除了再次利用js的闭包特性,还需要借助js语法上的一些特点。看下面一段代码:     var MyNamespace = {}; // 定义命名空间 MyNamespace.TreeItem = (function(){ //使用闭包产生的私有静态变量,不可被外部访问 ...

2010-10-31 01:51:25 173

Javascript 的函数式对象(二)从垃圾回收器的角度理解闭包

  当一个javascript函数返回时,js解析器会保留它作用域内的所有变量和函数。   闭包(Closure)这个词形象地描述了函数作用域现场被“封闭包存”起来这一行为。   直到该函数不再被其他对象引用,其作用域内的变量和函数才能被释放回收。    下面是关于js闭包的一段代码:     function outerFunc(){ var privateAt...

2010-10-30 02:21:35 131

Javascript 的函数式对象(一)利用闭包模拟类的私有变量和方法

在Javascript的框架开发中,面向对象式编程和面向函数式编程各有长处,因况而异。 除了在单例工厂中设置一些类型常量外,闭包通常被用来模拟类的私有变量和方法。 结合js的prototype机制,一个具有面向对象特点的js函数能够被以减少内存占用的形式实例化出来。 [code="js"]var MyNamespace = {}; MyNamespace.TreeIte...

2010-10-29 02:09:36 243

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除