EXTJS 基礎知識點整理

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);




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章