使用对象属性重写进行优化
?
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(); }};