Ext.namespace

本文详细介绍了使用ExtJS进行高效编程的各种高级技巧,包括命名空间的定义与使用、类实例属性与方法的设置、静态方法的实现、构造方法的定义、类继承与方法重写,以及如何使用别名和类别名简化代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:支持命名空间
 
1
2
3
4
5
6
7
8
9
<script type="text/javascript">
    //定义一个命名空间
    Ext.namespace("Ext.baojian");
    //在命名空间上定义一个类
    Ext.baojian.helloworld = Ext.emptyFn;
      
    //创建一个类的实例
    newExt.baojian.helloworld();       
</script>
 其中 Ext.baojian.helloworld = Ext.emptyFn; 等价于 Ext.baojian.helloworld = function(){};

2:支持类实例属性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript">
    Ext.namespace("Ext.baojian");//自定义一个命名空间
    Ext.baojian.Person = Ext.emptyFn;//在命名空间上自定义一个类
  
    //为自定义的类 增加一个 name 属性,并赋值
    Ext.apply(Ext.baojian.Person.prototype, {
        name:"王宝健"
    })
      
    var_person =newExt.baojian.Person();//实例化 自定义类
    alert(_person.name);
    _person.name ="杨波";//修改类name属性
    alert(_person.name);
</script>
3:支持类实例方法
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript">
    Ext.namespace("Ext.baojian");//自定义一个命名空间
    Ext.baojian.Person = Ext.emptyFn;//在命名空间上自定义一个类
  
    //演示类实例方法
    Ext.apply(Ext.baojian.Person.prototype, {
        name:"王宝健",
        sex:"男",
        print:function(){
            alert(String.format("姓名:{0},性别:{1}",this.name,this.sex));
        }
    })
  
    var_person =newExt.baojian.Person();//实例化 自定义类
    _person.print();
</script>
4:支持类静态方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script type="text/javascript">
    Ext.namespace("Ext.baojian");//自定义一个命名空间
    Ext.baojian.Person = Ext.emptyFn;//在命名空间上自定义一个类
  
    //演示类实例方法
    Ext.apply(Ext.baojian.Person.prototype, {
        name:"王宝健",
        sex:"男",
        print:function(){
            alert(String.format("姓名:{0},性别:{1}",this.name,this.sex));
        }
    })
      
    //演示 类静态方法
    Ext.baojian.Person.print =function(_name,_sex){
        var_person =newExt.baojian.Person();
        _person.name = _name;
        _person.sex = _sex;
        _person.print();//此处调用类 实例方法,上面print是类 静态方法
    }
  
    Ext.wentao.Person.print("杨波","女");//调用类 静态方法
</script>

 
 
5:支持构造方法
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script type="text/javascript">
    Ext.namespace("Ext.wentao");//自定义一个命名空间
  
    //构造方法
    Ext.baojian.Person =function(_cfg){
        Ext.apply(this,_cfg);
    }
  
    //演示类实例方法
    Ext.apply(Ext.baojian.Person.prototype, {
        print:function(){
            alert(String.format("姓名:{0},性别:{1}",this.name,this.sex));
        }
    })
      
    //演示 类静态方法
    Ext.baojian.Person.print =function(_name,_sex){
        var_person =newExt.baojian.Person({name:_name,sex:_sex});
        _person.print();//此处调用类 实例方法,上面print是类 静态方法
    }
  
    Ext.baojian.Person.print("杨波","女");//调用类 静态方法
</script>

6:支持类继承

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<script type="text/javascript">
    Ext.namespace("Ext.baojian");//自定义一个命名空间
  
    //*******************父类*********************
    //构造方法
    Ext.wentao.Person =function(_cfg){
        Ext.apply(this,_cfg);
    }
  
    //演示类实例方法
    Ext.apply(Ext.baojian.Person.prototype, {
        job:"无",
        print:function(){
            alert(String.format("姓名:{0},性别:{1},角色:{2}",this.name,this.sex,this.job));
        }
    })
  
    //*******************子类1*********************
  
    Ext.baojian.Student =function(_cfg){
      Ext.apply(this,_cfg);
    }
  
   Ext.extend(Ext.baojian.Student,Ext.baojian.Person,{
       job:"上班族"
   })
  
    var_student =newExt.baojian.Student({name:"杨波",sex:"女"});
   _student.print();//调用 父类方法
</script>

7:支持类实例方法重写

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<script type="text/javascript">
    Ext.namespace("Ext.baojian");//自定义一个命名空间
  
    //*******************父类*********************
    //构造方法
    Ext.wentao.Person =function(_cfg){
        Ext.apply(this,_cfg);
    }
  
    //演示类实例方法
    Ext.apply(Ext.baojian.Person.prototype, {
        job:"无",
        print:function(){
            alert(String.format("姓名:{0},性别:{1},角色:{2}",this.name,this.sex,this.job));
        }
    })
  
    //*******************子类1*********************
  
    Ext.wentao.Student =function(_cfg){
      Ext.apply(this,_cfg);
    }
  
    //重写父类的  实例 方法
   Ext.extend(Ext.baojian.Student,Ext.baojian.Person,{
       job:"上班族",
        print:function(){
            alert(String.format("{0}是一位{1}{2}",this.name,this.sex,this.job));
        }
   })
  
    var_student =newExt.baojian.Student({name:"杨波",sex:"女"});
   _student.print();//调用 父类方法
</script>

8:支持命名空间别名
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<script type="text/javascript">
    Ext.namespace("Ext.baojian");//自定义一个命名空间
  
    Bj = Ext.wentao;//命名空间的别名
  
    //*******************父类*********************
    //构造方法
    Wt.Person =function(_cfg){
        Ext.apply(this,_cfg);
    }
  
    //演示类实例方法
    Ext.apply(Bj.Person.prototype, {
        job:"无",
        print:function(){
            alert(String.format("姓名:{0},性别:{1},角色:{2}",this.name,this.sex,this.job));
        }
    })
  
    //*******************子类1*********************
  
    Wt.Student =function(_cfg){
      Ext.apply(this,_cfg);
    }
  
    //重写父类的  实例 方法
   Ext.extend(Bj.Student,Ext.baojian.Person,{
       job:"学生",
        print:function(){
            alert(String.format("{0}是一位{1}{2}",this.name,this.sex,this.job));
        }
   })
  
    var_student =newBj.Student({name:"杨波",sex:"女"});
   _student.print();//调用 父类方法
</script>

9:支持类别名
 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<script type="text/javascript">
    Ext.namespace("Ext.baojian");//自定义一个命名空间
  
    Bj = Ext.baojian;//命名空间的别名
  
    //*******************父类*********************
    //构造方法
     Bj.Person =function(_cfg){
        Ext.apply(this,_cfg);
    }
  
    PN = Bj.Person;//类别名
  
    //演示类实例方法
    Ext.apply(PN.prototype, {
        job:"无",
        print:function(){
            alert(String.format("姓名:{0},性别:{1},角色:{2}",this.name,this.sex,this.job));
        }
    })
  
    //*******************子类1*********************
  
     Bj.Student =function(_cfg){
      Ext.apply(this,_cfg);
    }
  
    ST = Bj.Student;
  
    //重写父类的  实例 方法
   Ext.extend(ST,PN,{
       job:"上班族",
        print:function(){
            alert(String.format("{0}是一位{1}{2}",this.name,this.sex,this.job));
        }
   })
  
    var_student =newST({name:"杨波",sex:"女"});
   _student.print();//调用 父类方法
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值