虚拟机,编译原理,应用框架

代理constructor,prototype且不让instanceof失效

function NewClasse(superclass){
    
return function classe(){
        
if (classe.prototype != superclass) {
            classe.prototype 
= superclass;
            
return new classe();
        } 
else {
            classe.constructor.apply(
this, arguments);
        }
    };
};
= {x:1}
= NewClasse(B);
= new A();
alert(a 
instanceof A);
alert(a.x);

posted on 2008-08-01 01:34  文宇祥  阅读(285)  评论(0编辑  收藏  举报

导航