1类的声明和调用
function user(){
this.name='hello';
this.age=26;
//把email当成java的private
var email = "www@126.com"
this.getemail =function(){
return email;
}
}
var u = new user();
//alert(u.getemail());
//alert(u.getname());
___________________________________
//或者可以写成这样
var person = {
name:"abc",
age:21
}
//alert(person.name);
2创建和使用
(function() {
//类加载的时候
Ext.onReady(function() {
//定义长宽
var v =new Ext.window.Window({
width:400,
height:400,
title:'hello'
});
//v.show();
});
//获取html页面的元素id,对事件进行操作,在html定义一个button,id为btn
Ext.get("btn").on("click",function(){
v.show();
});
//alias给类起别名的用法,把一个变量的方法单独的起别名做成一个变量进行调用。
var a = {
say : function(){
alert("test");
}
};
var abc = Ext.Function.alias(a,"say");
abc();
//利用类管理器统一创建,用之前new出来的当然也可以,ext官方推荐用create来创建对象。
var test = Ext.create('Ext.window.Window',{
width:400,
height:400,
title:'hello'
});
test.show();
//有一个继承,继承后可以更改变量属性,有点类似继承java抽象类重写方法那样
Ext.define("ext.locale.common",
{
extend: 'Ext.window.Window',
width:400,
height:400,
title:'hello',
abc:"dudulu",
//定义功能也可以,把abc的值赋值到title上去
zidingyi:function(){
this.title=this.abc;
},
initComponent: function(){
this.zidingyi();//调用方法
this.callParent(arguments);//这个是必写
}
})
//调用
Ext.create("ext.locale.common", {
//可以在里面继续定义属性
}).show();
//这个据说非常常用,举例一个应用场景,首页加载的时候不加载所有的js文件,产生事件的时候再异步加载。节省资源,提高效率。
//ext.locale.common这个指的是文件的路径,ext会转义成ext/locale/common.js来找这样的文件
//还要做一步是这个要配合命名空间来使用,这个放入的位置是
(function() {
__ Ext.Loader.setConfig({
enabled: true,
paths: {
//预加载 - 页面没引用的话 -会去设置的这里的命名空间
myApp: "ext/locale"
} __
//加载的时候
Ext.onReady(function() {................
Ext.create("ext.locale.common", {
title: "wocao",
requires: ["ext.locale.common"]
}).show();
//混合类mixins用法,可以实现多继承
Ext.define("say", {
cansay: function() {
alert("test");
}
})
Ext.define("user", {
//能调用好几个方法里的
mixins: {
say : "say"
}
});
var u = Ext.create("user",{});
u.cansay();
})();