[ExtJs] ExtJs define 自定义对象

 

//Ext.onReady 准备函数 类似于window.onload
Ext.onReady(function(){
    
    //自定义对象
    Ext.define("Person",{
        config:{
            name:'Jhon',
            age:20
        },
        statics:{
            weight:132,
            add:function(x,y){
                console.info('x add y is '+(x+y));
            }
        },
        alias:'pson',// 别名
        //自定义方法
        work:function(){
            Ext.Msg.alert("提示","I am a 农民");
        },
        //构造器
        constructor:function(config){
            var ps = this;
            //初始化配置
            ps.initConfig(config);
        }
        
    });
    
    var p =Ext.create("pson");//通过别名创建对象
    console.info(p.name+","+p.age);
    //p.work();
    // 实例对象无法使用静态的属性和方法
    console.info(p.weight);//undefined
    //p.add(10,20); 方法未定义
    //用类名去使用静态属性:!!!!
    console.info(Person.weight);//132
    Person.add(12,32);//44
    
    
  /// extend 继承
    
    Ext.define("Son",{
        //继承对象,共享父类对象的属性和方法
        extend:"Person",
        config:{
            color:'red'
        }
    });
    
    var son = Ext.create("Son");
    console.info(son.age+","+son.color+","+son.name);
    son.work();
    
    // Ext apply applyIf
    
    var src = {name:'ext.apply测试',age:20};// 源对象
    var config ={name:'ExtJs',sex:1};//配置对象
    Ext.apply(src,config);
    for(var attr in src){
        alert(attr+","+src[attr]);
    }
    
    Ext.applyIf(src,config);
    for(var attr in src){
        console.info(attr+","+src[attr]);
    }

});

 

posted @ 2015-11-19 20:16  snow__wolf  阅读(239)  评论(0)    收藏  举报