/******js书写类的方法*********/
一:函数的形式
function user(){
this.name = 'zhangsan';
this.age = 26;// 属性
var email = "11@qq.com";
var getEmail = function(){//方法
return email;
}
}
var u = new user();//实例化一个类
alert(u.getEmail());
二:json格式
var user = {name:'zhangsan',age:26};
访问方式有两种:
user.name //点的形式
user['age'] //数组形式
extjs中创建类
传统方法:
Ext.onReady(function(){
var win = new Ext.window.window({
width:400,
height:300,
title:'hello world'
});
//win.show();//将窗体显示到页面
//给一个按钮绑定事件来触发win.show()这个方法;
Ext.get('b').on('click',function(){
win.show();
});
});
ext4.0中实例化一个类//define先声明类,在create创建对象
Utilities(实用工具)中Ext.Funtion类的alias方法的使用:
var o = {
say:function(){
alert('Hello World!');
}
}
var fn = Ext.Funtion.alias(o,'say');//返回结果是一个函数;
fn();//输出结果为'Hello World!';即当执行别名的时候就会执行类中的一个方法函数;
create://为Ext.ClassManager的一个方法的别名;extjs4.0推荐使用create的原因就是方便使用ClassManager统一管理我们创建的对象;
create([name],[args]):Object
/*功能:通过全名、别名或者替代名字实例化一个类;
*参数: name:类的名称或者别名;
* args:传递给类的构造函数的参数名称;
*结果:返回一个实例化的对象;
*/
用create方法初始化一个窗口,实现和上面代码相同功能:
var win = Ext.create('Ext.window.window',{
width:400,
height:300,
title:'hello world'
});
define(className,data,createFn) //功能:定义或覆盖一个类;
Ext.define('myWin',{
extend:'Ext.window.window',//说明'myWin'是'Ext.window.window'的一个扩展,即'myWin'继承自'Ext.window.window'
width:400,
height:300,
newtitle:'hello',
initComponent:function(){
this.callParent(arguments);
}
});
requires:(需求)该方法能够完成动态加载库的功能,使得程序在最开始加载的时候不会去加载一些需要事件触发才会用到的库文件;这样很大程度上提高了程序的运行速度;
Ext.define('say',{
cansay;function(){
alert('hello');
}
});
Ext.define('sing',{
cansing:function(){
alert('world');
}
});
Ext.define('user',{
mixins:{//使用mixins的优点:可以同时继承多个类;
say:'say',
sing:'sing'
}
//extend:'say' 和上面mixins功能完全相同;
});
var u = Ext.create('user',{});
u.cansay();//说明mixins方法具有和extend相同的功能;即extend:'say';继承;
阅读(4164) | 评论(0) | 转发(0) |