Ext對基本類型的擴展 ext,extjs,format
更新時間:2010年12月25日 18:05:29 作者:
Ext對基本類型的擴展 ext,extjs,format,學習extjs的朋友可以參考下。
1. Array
indexOf(Object o):Number 方法
remove(Object o):Array 方法
2. Date
Javascript對日期時間的操作是不太方便的,而Ext在此基本上加入了比較多的擴展。比較重要的有:
add(String interval,Number value):Date 方法
其中interval表示要加入的周期,有效的字符串為
ms--------表示毫秒
s-----------表示秒
mi---------表示分鐘
h----------表示小時
d---------表示天
mo--------表示月
y---------表示年
這個方法是通過封裝Date.setxxx方法實現的。 另外,該函數不會改變原始日期的值,則是返回一個新的日期對象作為結果。
format(String format):String 方法
基本上,它的用法類似于.net中的日期格式化函數。具體的格式請參見Ext的API。通過閱讀它的源碼,我發(fā)現第次調用該函數時,它首先判斷指定的格式是否曾經調用過,如果沒有調用過,則為該格式動態(tài)生成一個相應的格式化函數,并緩存起來。這樣做可以明顯提高第二次調用的速度。
3. Function
createCallback 方法
為函數生成回調用方法,這個函數怎么起作用呢?
function add(x,y){
return x+y;
}
var add2 = add.createCallback(10,20);
alert(add2());
createDelegate(scope,args,append) 方法
這個方法的作用和createCallback的作用基本相同,不同的地方在于它可以指定調用原始函數的上下文對象,而createCallback方法則始終使用window作為函數調用的上下文。
createInterceptor(fn,[scope])方法
這個方法的作用是為函數創(chuàng)建一個攔截器,在調用原始函數之前先調用fn,如果fn返回false,則不調用原始函數。scope參數指定了調用fn函數的上下文,如果未指定,則和原始函數的上下文相同或者為window對象。
createSequence( Function fn, [Object scope] )
這個方法組合了原始函數和fn,最終的結果是先調用原始函數,然后再用同樣的參數調用fn函數,最返的返回值是原始函數的返回值。
defer( Number millis, [Object scope], [Array args], [Boolean/Number appendArgs] )
這個方法能延時調用原始函數。
var clock = function(){
var d = new Date();
alert(d.toLocaleTimeString());
}
clock();
clock.defer(10000);
4. Number
constrain( Number min, Number max )
不解釋,你懂的。
5. string
format( String string, String value1, String value2… ) : String
它的功能和.net中的格式化基本相同,但比較簡單,不支持在{0:d}這樣的寫法,只支持{0}這樣的寫法??戳怂脑创a,超簡單。
format : function(format){
var args = Ext.toArray(arguments, 1);
return format.replace(/\{(\d+)\}/g, function(m, i){
return args[i];
});
}
基本上,這是一個很有用的函數,可以讓我們少寫拼寫字符串的代碼,那種代碼真的很難看懂。
trim() : String
還算是有點用處,也不解釋。
indexOf(Object o):Number 方法
remove(Object o):Array 方法
2. Date
Javascript對日期時間的操作是不太方便的,而Ext在此基本上加入了比較多的擴展。比較重要的有:
add(String interval,Number value):Date 方法
其中interval表示要加入的周期,有效的字符串為
ms--------表示毫秒
s-----------表示秒
mi---------表示分鐘
h----------表示小時
d---------表示天
mo--------表示月
y---------表示年
這個方法是通過封裝Date.setxxx方法實現的。 另外,該函數不會改變原始日期的值,則是返回一個新的日期對象作為結果。
format(String format):String 方法
基本上,它的用法類似于.net中的日期格式化函數。具體的格式請參見Ext的API。通過閱讀它的源碼,我發(fā)現第次調用該函數時,它首先判斷指定的格式是否曾經調用過,如果沒有調用過,則為該格式動態(tài)生成一個相應的格式化函數,并緩存起來。這樣做可以明顯提高第二次調用的速度。
3. Function
createCallback 方法
為函數生成回調用方法,這個函數怎么起作用呢?
復制代碼 代碼如下:
function add(x,y){
return x+y;
}
var add2 = add.createCallback(10,20);
alert(add2());
createDelegate(scope,args,append) 方法
這個方法的作用和createCallback的作用基本相同,不同的地方在于它可以指定調用原始函數的上下文對象,而createCallback方法則始終使用window作為函數調用的上下文。
createInterceptor(fn,[scope])方法
這個方法的作用是為函數創(chuàng)建一個攔截器,在調用原始函數之前先調用fn,如果fn返回false,則不調用原始函數。scope參數指定了調用fn函數的上下文,如果未指定,則和原始函數的上下文相同或者為window對象。
createSequence( Function fn, [Object scope] )
這個方法組合了原始函數和fn,最終的結果是先調用原始函數,然后再用同樣的參數調用fn函數,最返的返回值是原始函數的返回值。
defer( Number millis, [Object scope], [Array args], [Boolean/Number appendArgs] )
這個方法能延時調用原始函數。
復制代碼 代碼如下:
var clock = function(){
var d = new Date();
alert(d.toLocaleTimeString());
}
clock();
clock.defer(10000);
4. Number
constrain( Number min, Number max )
不解釋,你懂的。
5. string
format( String string, String value1, String value2… ) : String
它的功能和.net中的格式化基本相同,但比較簡單,不支持在{0:d}這樣的寫法,只支持{0}這樣的寫法??戳怂脑创a,超簡單。
復制代碼 代碼如下:
format : function(format){
var args = Ext.toArray(arguments, 1);
return format.replace(/\{(\d+)\}/g, function(m, i){
return args[i];
});
}
基本上,這是一個很有用的函數,可以讓我們少寫拼寫字符串的代碼,那種代碼真的很難看懂。
trim() : String
還算是有點用處,也不解釋。
相關文章
Extjs gridpanel 出現橫向滾動條問題的解決方法
Extjs gridpanel 出現橫向滾動條問題的解決方法,在gridpanel中加入以下代碼即可。2011-07-07EXTJS FORM HIDDEN TEXTFIELD 賦值 使用value不好用的問題
用了一個方法解決了此問題,但是老是感覺這樣解決了很不爽,各位有沒有遇到過這種問題,請指點一下。2011-04-04ExtJS PropertyGrid中使用Combobox選擇值問題
在PropertyGrid中使用Combobox來選擇值時,得到的應該是displayField的值,但是在確認選擇的時候卻顯示了valueField的值2010-06-06解決Extjs 4 Panel作為Window組件的子組件時出現雙重邊框問題
Extjs的Panel和Window等組件在默認情況下是帶邊框的,通常情況下,單獨使用沒有什么關系,但是將Panel作為Window組件的子組件時就會出現雙重邊框的現象于是想辦法將兩重邊框去掉,變成單邊框,感興趣的朋友可以了解下2013-01-01ExtJs 3.1 XmlTreeLoader Example Error
ExtJs 3.1的XmlTreeLoader例子折騰了我近一個下午加晚上,官方的例子沒有問題,可以加載xml的數據,本地IIS死活不行2010-02-02Extjs4 消息框去掉關閉按鈕(類似Ext.Msg.alert)
類似Ext.Msg.alert();但沒有關閉按鈕,由于Extjs4消息框中的關閉按鈕,沒有執(zhí)行回調函數,點擊關閉按鈕后,直接關閉窗口,接下來為大家詳細介紹下去掉關閉按鈕2013-04-04