小黑米的生活

只玩技术

[Javascript] 原型(prototype)实现面向对象

leave a comment

使用JS原型(prototype)来做面向对象,模块化部分代码~

今天和同事讨论了下prototype,我个人比较倾向于把部分逻辑放到前端实现,从而减少对后端数据的耦合,相当于在做富客户端应用,如果这么做就必须要在客户端用面向对象编程来处理模块,但同事也很在理,一是兼容性的考虑,二是如果只是web应用或简单的web game似乎真没多少逻辑会放到浏览器去渲染的~ 好吧,不管如何也好~ 先探讨,用来做做小应用来玩着先吧~

function Model()
{
    this.sendRequest = function(callBack,args){
        //alert(args.age);
        alert("请求的url:"+this.url);
        data = {ret:0,data:"abc"};
        //ajax 拦截 通用的返回...
        this.updateRoleStatus(data);
        //回调callback...
        if(callBack) callBack(data);

       
        return data;
    };
}

Model.prototype.updateRoleStatus = function(data){
    alert("update role status");
}

Model.prototype.run = function(){
    alert(321);
}

function Job()
{
}
Job.prototype = new Model();
Job.prototype.run = function(jobId,callBack){
    data = this.sendRequest(callBack,{jobId:jobId});
    this.render(data);
}

Job.prototype.render = function(){ 
}

function YZJob(){
    this.url = "/yangzhou/job/do.ngi";
}
YZJob.prototype = new Job();
YZJob.prototype.render = function(){
    alert("render!");
}

var oJob = new YZJob();
oJob.run(123);

function GDJob(){
    this.url = "/guandu/job/do.ngi";
}
GDJob.prototype = new Job();
GDJob.prototype.render = function(){
    alert("render!");
}

原创文章,转载请注明: 转载自小黑米的生活

本文链接地址: [Javascript] 原型(prototype)实现面向对象

Written by edwardhey

十一月 22nd, 2011 at 6:29 下午

Posted in 技术

Leave a Reply

无觅相关文章插件,快速提升流量