现在位置首页 / 项目实战 /正文

Js自定义对象--实体

作者: IT小兵 | 2013年12月25日| 热度:℃ | 评论: |参与:

有时候,js对象需要与后台对象,比如cs的对象进行数据的传递,如果用基本数据类型的话,

可能需要定义很多参数。

这种情况,可以考虑在js中定义一个对象与cs对象一致。这样ajax传递到后台,直接就当作对象进行使用了。

var WorkList = new Array();
function WorkEx(depart, title, begintime, endtime) {
    this.GUID = JsGuid();
    this.DepartmentName = depart;
    this.Title = title;
    this.BeginTime = begintime;
    this.EndTime = endtime;
    this.Description = "";
    this.Enable = 0;
    return this;
}
function DeleteWork(guid) {
    
      WorkList = $.grep(WorkList, function (val, key) {
        
        return val.GUID!=guid;
        
    });
      ShowWork();
}
function ShowWork() {
    var html = "";
    $.each(WorkList, function (key, val) {
        html = html + " <span class=\"add_work_unit\">" + val.DepartmentName + ":" + val.Title
            + ",任职时间:" + val.BeginTime + "到" + val.EndTime + "<a href=\"#\" onclick='DeleteWork(\"" + val.GUID + "\")'>×</a></span>";
    });
    $("#tdWorkList").html(html);
}
function AddWork() { 
    var onework = new WorkEx($("#workaddress").val(), $("#worklevel").val(),
            $("#WorkBegin").val(), $("#WorkLeave").val())
    WorkList.push(onework);
    //  <span class="add_work_unit">四川省乐天区某某制药厂<a href="#">×</a></span>
    ShowWork();
}

上述例子中的WorkEx就是我定义的对象,与Cs对象属性是一致的。


使用Jquery也可以面向对象。

//接口1
var IClassName = {
        IgetName:function(){
             getName.apply(this);
        },
        IsetName:function(){
            setName.apply(this,arguments);
        }
}
//接口2
var IAlertName = {
        IAlert:function(){
            printName.apply(this);
        }
}
//父类
var superClass = function(){
        name = "superClass";
}
//子类
var subClass = function(){
        //实现接口1方法
        getName = function(){
            return name;
        }
        setName = function(_name){
            name = _name;
        }
        //实现接口2方法
        printName = function(){
            alert(name);
        }
}
//让子类继承父类
subClass.prototype = new superClass();
//实现接口
 jQuery.extend(subClass.prototype,IClassName,IAlertName);
//子子类
var childClass = function(){
        this.show = function(){
            alert(name+" show");
        }
}
//使用该类
var s = new subClass();
//s.IsetName("ddd"); 
//s.IAlert();
//让子子类继承子类
childClass.prototype = new subClass();
var c = new childClass();
c.IAlert();
c.IsetName("yyyy");
c.show();

使用jQuery简化继承接口一块。

jQuery.extend(target,obj1,[objN])   return Object
用一个或多个其他对象来扩展一个对象,返回被扩展的对象。

转发注明:IT分享 http://www.suchso.com  

点击阅读本文所属分类的更多文章: 项目实战 。和高手一起交流:346717337
友荐云推荐

未注明转发、原文均为本站原创。分享本文请注明 原文链接

给您更多信息和帮助

在这里您可以找到更多:

技术交流群:346717337 Jquery插件交流

投稿:[email protected]

承接:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/业务咨询

echarts教程系列
本月最热文章

微信扫一扫,徜徉悠嘻网,您的休闲乐园

微信公众号:快乐每一天

随机文章
标签

技术交流群:346717337

投稿:[email protected]

专业专注:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/付费问题咨询