MSAJAX第三章-JS创建类(1)

1.用到AJAX类型

2实现

3.注意点

4.用例

       我们要用AJAX的JS写一个面向对象的类,首先我们必须理解AJAX中的Type类,在定义类时一个需要定义这个类的名字空间,我们在写JS脚本时在写类似与名字空间往往很困难或很反锁,在使用JS脚本时也很可能在多个脚本引用会出现重名的现象,导致出现名字冲突而程序无法运行,MSAJAX给我们提供了一个便捷的注册名字空间的方法-Type.registerNamespace().

      接下来创建一个类并创建她的构造函数,定义类字段并把参数传给类所属字段.

fww.Person=function(id,name)
{
    this._id=id;
    this._name=name;
}

      第三步创建类的属性,属性放在 class.prototype 中,get 表示获得,set表示获得,方法同属性一样只是不需要get,set

fww.Person.prototype=
{
    get_id:function()
    {
        return this._id;
    },
    get_name:function()
    {
        return this._name;
    },
    set_name:function(value)
    {
        if(value!=null)
        {
            this._name=value;
        }
    },
    tostring:function()
    {
        return String.format("你好,我是{0},我的工号是:{1}",this.get_name(),this.get_id());
    }
}

      第四步将类注册给MSAJAX

             fww.Person.registerClass("fww.Person");

这个一个面向对象的类就创建成功了,

注意点:

           1.在定义属性和方法,建议大家用get,与set ,其实这里在JS内部是不区分的你不用get,与set 也没关系主要是为了让别人或自己更明白这个函数的意义,这个算是个规范吧.

           2.在定义类字段时我并没有像.NET中在构造函数外显示定义类字段,而是用了this.FiledName,这个时可行的因为JS是一种弱类型语言,允许这样做,this._id等同与在类中定义 var id.

           3.在调用类属性时不要忘了加()噢!大家可能用.NET习惯了person.get_name来调用,在JS这样时错误的,我在的一点已经说过了在JS中不管时属性和方法他们都时Function方法所有真确的调用时必须加()-person.get_name(),这样才会调用成功.

           4.在写属性的set方法时要注意判断value的值是否是NULL,当然这个只是我点建议您不写也可以

       完整用例:

 Type.registerNamespace("fww")

fww.Person=function(id,name)
{
    this._id=id;
    this._name=name;
}
fww.Person.prototype=
{
    get_id:function()
    {
        return this._id;
    },
    get_name:function()
    {
        return this._name;
    },
    set_name:function(value)
    {
        if(value!=null)
        {
            this._name=value;
        }
    },
    tostring:function()
    {
        return String.format("你好,我是{0},我的工号是:{1}",this.get_name(),this.get_id());
    }
}

fww.Person.registerClass("fww.Person");

就那么多了在MSAJAX第三章-JS创建类(2)中交大家怎么去写一个继承类的写法.

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值