Extjs的面向对象:
//参数:子类,父类,重写的方法
Ext.extend(Bus,Car,{
//重写父类的方法
move:function(){...}
},
//重写父类的方法
toString:function(){...}
);
//简写
var Car = Ext.extend(Bus,{
//也可以重写构造函数
constructor:function(){...}
},
move:function(){...}
);
Ext.apply(config1,config2);//将config2的属性赋值给config1,不管config1属性是否存在一律重写
Ext.apply(config1,config2,config3);//config1中没有config3的赋值添加但不重写,congig2的属性一律会重写到config1中
上面三个参数的执行顺序:Ext.applyIf(config1,config3);Ext.apply(config1,config2);
判断浏览器:
IE:Ext.isIE Ext.isIE6,7,8
safari:Ext.isSafari Ext.isSafari2,3,4
webkit:Ext.isWebkit
....
判断操作系统与浏览器判断相似
定时调用函数
//类似setTimeout
var task = Ext.util.DelayedTask(function(){...});
task.deplay(2000);
DelayedTask接受参数有点麻烦
var task = Ext.util.DelayedTask();
task.deplay(2000,
$fun,//要执行的函数
this,//函数执行时的范围,默认是window
commands//要传给执行函数的参数
);
//类似setInterval
var sayHi = function(){...}
var task = {
run:sayHi,
interval:2000
};
var runner = new Ext.util.TaskRunner();
runner.start(task);
//h或者:Ext.TsakMgr.start(task); Ext.Task.stop(task);
Ext.Task.stopAll() //停止所有任务
//模仿多线程
var task1 = {
run:sayHi,
interval:2000
};
var task2 = {
run:sayHi,
interval:2000
};
Ext.TsakMgr.start(task1);
Ext.TsakMgr.start(task2);