Ext-API詳解–core/Ext.js

來源:互聯網
上載者:User
 1、 Ext.apply(Object obj, Object config, Object defaults ) : Object
將config中的所有屬性複製到obj中,如果配置了defaults,則先將defaults中的屬性傳入obj,然後再將config中屬性傳入,一般defaults用於定義一些預設值。
注意:每個參數都必須是對象object,而不能是function或其他。
建立object可以通過new function(){}、new Object()、{}等方法建立。

2、Ext.emptyFn: Function
用於返回一個空函數,便於在程式中建立空函數。Ext.emptyFn返回function(){}

3、Ext.applyIf(Object obj, Object config) : Object
功能如同Ext.apply,但是只把config中存在而obj不存在的屬性複製過去。

4、Ext.addBehaviors( Object obj ) : void
為頁面中一個或多個元素添加事件
元素使用css規則尋找,其中元素與事件用@隔開Ext.addBehaviors({
   //為id為foo的元素下的所有a元素添加click事件
   '#foo a@click' : function(e, t){
       // do something
   },
   // 為多個選取器添加相同的事件(mouseover)。在@之前使用逗號分開
   '#foo a, #bar span.some-class@mouseover' : function(){
       // do something
   }
});

5、Ext.id( [Mixed el], [String prefix] ) : String  
返回一個唯一的id值。
如果只需要擷取一個唯一的id值,則直接調用Ext.id();
如果需要為某個元素設定一個唯一的id值並返回id則調用Ext.id(el),el為元素Id、Dom對象或Ext的Element對象。
如果需要指定特定的首碼,則需要傳入第二個參數,如Ext.id(el,”myPrix-”),預設首碼為ext-gen,如預設返回id可能為ext-gen4,指定了首碼後可能返回myPrix-4。

6、Ext.extend( Object subclass, Object superclass, [Object overrides] ) : void
實現對象繼承,目前還不太瞭解具體原理 ???

7、Ext.namespace( String namespace1, String namespace2, String etc ) : void
建立命名空間:
Ext.namespace("Company","MyNS.mydata","Data.format.string")
然後可以建立如MyNS.mydata.doit=function(){…}的介面
註:命名空間的簡易調用:Ext.ns(),在Ext Api中未給出此用法。

8、Ext.urlEncode( Object o ) : String
將一個json對象轉換稱url參數串,支援通過數組為一個參數設定多個值。
如將{a:1,b:2,c:[1,3,5,7]}轉換為a=1&b=2&c=1&c=3&c=5&c=7

9、Ext.urlDecode( String string, [Boolean overwrite] ) : Object
將url參數串轉換為json對象,overwrite如果為true,則後面的同名參數值覆蓋前面的同名參數值(預設為false即不覆蓋而以數組形式返回)。
Ext.urlDecode("a=1&b=2&c=1&c=3&c=5&c=7")
返回的對象內容為{a:1,b:2,c:[1,3,5,7]}
Ext.urlDecode("a=1&b=2&c=1&c=3&c=5&c=7",true)
返回{a:1,b:2,c:7}

10、Ext.each( Array/NodeList/Mixed array, Function fn, Object scope ) : void
遍曆array並對每項分別調用fn函數。如果array不是數組則只執行一次。
如果某項fn執行結果返回false(必須是false,undefined無效),遍曆退出,後面的array項將不被遍曆。
遍曆過程中每次為fn傳入參數分別為[當前數組項],[當前索引]和[數組array]三個參數。
Scope用於設定fn函數中的this指標。
Ext.each([1,3,5,7],function(v,i,a){
      alert("index: "+i+" value: "+v+" array.length:"+a.length)
});

將迴圈彈出:
index:0 value:1 array.length:4
index:1 value:3 array.length:4  
index:2 value:5 array.length:4  
index:3 value:7 array.length:4

Ext.each([1,3,5,7],function(v,i,a){
    alert("index: "+i+" value: "+v+" array.length:"+a.length);
    return v!=5;  //到第三項後遍曆退出
});

將迴圈彈出:
index:0 value:1 array.length:4
index:1 value:3 array.length:4  
index:2 value:5 array.length:4  

11、Ext.combine(arg1,arg2..argn) : Array    //該方法在Ext2不推薦再使用
用於實現對數組的合并,如果是字串則作為只有一項的數組合并。
如var a1=[1,3,5],b1=["a","b","c"];var c1="xxyznbde";
Ext.combine(a1,b1,c1) 返回[1,3,5,a,b,c,xxyznbde]

12、Ext. escapeRe( String str ) : String
將屬於正則裡的特殊字元進行轉義。
Ext.escapeRe("(ab)$/sa342{}[dd]")將返回/(ab/)/$sa342/{/}/[dd/]。

13、Ext.callback(cb, scope, args, delay) :void  //該方法為Ext的內部方法
調用一個函數或延遲調用一個函數。
Cb:調用的函數。
scope:cb中this指標。
args:傳如cb的參數,以數組形式表示。
delay:延遲多少毫秒執行cb。
Ext.callback(function(x,y){alert(x+y)},this,[3,5],1000);將於1秒鐘後彈出8,即3+5的結果。

14、Ext.getDom( Mixed el ) : HTMLElement
根據傳入的id/dom節點/Ext的Elemenet對象,返回其dom對象。
如alert(Ext.getDom("a").innerHTML);或
alert(Ext.getDom(document.getElementById("a")).innerHTML);
將返回id為a的元素的innerHTML內容。

15、Ext.getDoc()/Ext.getBody() : Ext.Element
分別返回頁面的document對象和body對象,傳回值為Ext的Element對象,而非Dom對象。

16、Ext.getCmp( String id ) : Ext.Component
根據傳入的html元素id返回該元素的組件類型,傳回值為Ext的Component對象。
必須保證該id對象的元素是Ext的一個內部組件(通過Ext建立的組件),否則什麼都不返回。

17、Ext.num( Mixed value, Number defaultValue ) : Number
驗證value是否是一個數字,如果是則直接返回否則返回defaultValue。
如alert(Ext.num(5,7))返回5,alert(Ext.num("5",7)) 返回7

18、Ext.destroy( Mixed arg1, Mixed (optional), Mixed (optional) ) : void
銷毀建立的Element或組件(Component),即銷毀其所有的事件監聽,dom節點,並調用對象本身的destory方法(如果存在的話),傳入的參數類型為Ext.Element或Ext. Component,可以一次性傳入多個對象進行銷毀。
Ext.destory(menu,el,Button);會銷毀menu,el,Button三個對象。

19、Ext.removeNode(htmlElement el): void  //Ext內部方法
刪除指定的dom節點。傳入參數為dom對象。
Ext.removeNode(document.getElementById("ab"));

20、Ext.type( Mixed object ) : String
返回傳入的對象的類型。
包括如下類型:
string,number,boolean,function,object,array,regexp,element,nodelist,textnode,whitespace
Ext.type("ab")返回string
Ext.type(20)返回number
Ext.type([3,5,6])返回array
Ext.type(/reg/)返回regexp
Ext.type(document.body)返回element。

21、Ext.isEmpty( Mixed value, [Boolean allowBlank] ) : Boolean
檢查一個值是否為null/undefined或是否是空,如果是則返回true。
如果傳入allowBlank為true,則只檢查是否為null或undefined。
如:Ext.isEmpty("a")返回false,
Ext.isEmpty("")返回true,
Ext.isEmpty("",true)返回false,
Ext.isEmpty(null)返回true。

22、Ext.value(String v,String defaultValue[,[Boolean allowBlank]):String  //Ext內部方法
檢查v是否是為null/undefined或空,如果是則返回defaultValue,否則返回v。如果allowBlank參數為true,則允許v為空白(即當v為空白時不返回defaultValue而返回空)。  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.