首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

施用对象属性重写进行优化

2012-10-28 
使用对象属性重写进行优化?ppt @ google doc?ppt @ slideshare?概念:在 lifesinger 处看到了关于兼容性的

使用对象属性重写进行优化

?

ppt @ google doc

?

ppt @ slideshare


?

概念:


在 lifesinger 处看到了关于兼容性的讨论,早先也有过类似的想法,其中提到了对象重写,恰好最近也频繁用到,这里对一个实例进行讲解下。所谓对象属性重写(特别是方法),即在运行时动态修改对象的属性以及方法,属于脚本语言所特有,如文中兼容层处理,在运行中对方法进行重写改变。

?

function Dialog_v6() {}Dialog_v6.prototype = {    prototype: Dialog_v6,    _prepare: function () {        Dialog_v6.mask = new Mask();lazyRun(Dialog_v6.prototype, "_prepare", "_real");    },    _real: function () {        //use mask    },    show: function () {        this._prepare();    }};


6 楼 十三‘’ 2010-08-16   是这个意思吗 7 楼 yiminghe 2010-08-16   十三‘’ 写道是这个意思吗

最后一个例子是重写构造器原型,

lazyRun不在原型方法中,在外边


当某个实例第一次运行show时,导致其构造器原型被重写,其它实例再show时就会跳过mask初始化了 8 楼 zhangle1987 2010-08-18   提一个问题:最后一个例子里面,有多个dialog实例怎么办?原型在创建第一个实例的时候已经被改变了? 9 楼 yiminghe 2010-08-18   zhangle1987 写道提一个问题:最后一个例子里面,有多个dialog实例怎么办?原型在创建第一个实例的时候已经被改变了?
应该被改变,因为所有实例共享mask遮罩层的

热点排行