Ext-API詳解--core/Ext.js
阿新 • • 發佈:2018-12-21
Ext-API詳解--core/Ext.js 2008-05-07 15:45
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 [email protected]' : function(e, t){ // do something }, // 為多個選擇器新增相同的事件(mouseover)。在@之前使用逗號分開 '#foo a, #bar // 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而返回空)。 |