5 ExtJS對原有JavaScript對象的擴充
為了實現更強大的功能也為了更好的與ExtJS整個架構的一起工作,ExtJS對JavaScript中的Array、Date、Function、Number和String 5個類進行了擴充,可以理解為Java中的封裝類,是對JavaScript原生對象的封裝。
1. Array
除開原生Array對象的方法外,ExtJS擴充的Array對象還增加了表2-1所示的方法。
表2-1 Array類型擴充方法列表
方法名 |
說明 |
|
indexOf( Obje ct o ) : Number |
判斷指定對象是否存在於數組中,如果存在則返回對應的索引,如果不存在則返回-1。 參數說明:o |
如果不存在則返回-1。 |
remove( Objec t o ) : Array |
從數組中刪除指定對象。 參數說明:o,需要進行刪除的對象。 |
|
2. Date
除開原生Date對象的相關方法外,擴充的Date對象還增加了表2-2所示的方法。
表2-2 Date類型擴充方法列表
方法名 |
說明 |
Date.getMonthNumber( String name ) : Number |
靜態方法,根據月份名稱返回從0開始的月份數值。 參數說明:name ,月份名稱。 |
Date.getShortDayName( Num ber day ) : String |
靜態方法,根據星期數返回對應的星期名稱,0對應星期日。 參數說明:day,星期數。 |
Date.getShortMonthName( N umber month ) : String |
靜態方法,根據月份數返回對應的月份名稱。 參數說明:month,月份數。 |
Date.parseDate( String input, String format ) : Date |
靜態方法,根據指定的日期格式解析日期文字,返回對應的日期 對象。需要注意的是該方法已標準的日曆格式進行解析,即1月份 |
|
對應數字1而不是數字0。 |
|
參數說明: input,將被解析的字串。format ,字串日期格式。 |
add( String interval, Number value ) : Date |
一個方便的進行日期計算的方法,該方法不會修改當前日期對象而 是建立並返回一個包含計算結果的新的日期對象。 |
|
參數說明:interval,有效日期間隔枚舉值。Value,向當前日期上 |
|
增加的總數。 |
between( Date start, Date end ) : Boolean |
檢查當前日期表示的時間是否在指定的開始日期和結束日期之內。 參數說明:start,開始日期。End,結束日期。 |
clearTime( Boolean clone ) : Date |
清除當前日期對象的時間資訊。 參數說明:clone,為true則建立一個當然日期對象的複製,然後清 |
|
除複製對象的時間資訊並將複製對象返回,當前日期對象不受影響, |
|
預設為false。 |
clone() : Date |
建立並返回一個當前日期對象的複製。 |
format( String format ) : String |
按指定的格式化字串格式化當前日期,返回指定格式的日期字元 |
|
串。 |
|
參數說明:format ,日期格式字串。 |
getDayOfYear() : Number |
取得當前日期所在年中的天數,範圍從0 到 364 (閏年為365)。例 |
|
如1月1日的傳回值為0,閏年的12月31日傳回值為365。 |
getDaysInMonth() : Number |
取得當前日期對象所在月的總天數。 |
getElapsed( [Date date] ) : Number |
取得當前日期到指定日期之間經過的時間(以毫秒為單位)。 |
getFirstDateOfMonth() : Date |
取得當前日期所在月份第一天的日期對象。 |
getFirstDayOfMonth() : Number |
取得當前日期所在月份第一天的星期數,0代表星期日。 |
getGMTOffset( Boolean colon ) : String |
取得當期日期所在時區與格林尼治標準時間的時差。 參數說明:colon ,true表示在時間和分鐘之間加冒號,預設值為false。 |
getLastDateOfMonth() : Date |
取得當前日期所在月份最後一天的日期對象。 |
getLastDayOfMonth() : Number |
取得當前日期所在月份最後一天的星期數,0代表星期日。 |
getSuffix() : String |
取得當前日期英文尾碼。 |
getTimezone() : String |
取得時區。 |
getWeekOfYear() : Number |
取得當前日期是一年中的第幾個星期,範圍從1到53。 |
isLeapYear() : Boolean |
判斷當前日期所在年是不是閏年。 |
3. Function
除開原生Function對象的方法外,擴充的Function對象還增加了表2-3所示的方法。
表2-3 Function類型擴充方法列表
方法名 |
說明 |
createCallback() : Function |
建立當前函數的回呼函數,允許將多個參數綁定到一個函數。 |
|
樣本: |
|
function func1(name){ |
|
alert(name); |
|
} |
|
//將變了'tom'綁定到func1函數 |
|
var func2 = func1.createCallback('tom'); |
|
func2(); |
createDelegate( [Object obj], [Array args], [Boolean/Number appendArgs] ) : Function |
建立當前函數的代理函數。 參數說明:obj,(可選)該對象將作為代理函數的範圍。Args,(可 選)參數數組。appendArgs,(可選)如果為true,則args將附加在參數 |
|
列表之後,如果是數值,則args將在參數列表的appendargs位置插入。 |
createInterceptor( Function fcn, [Object scope] ) : Function |
建立當前函數的攔截函數。 參數說明:fcn,攔截函數,該函數將在原始函數調用前被調用,該函 |
|
數返回false則原函數將不會被執行。Scope,(可選)攔截函數的作用 |
|
域,預設為原函數的範圍或window。 |
createSequence( Function fcn, [Object scope] ) : Function |
建立當前函數的組合函數。原函數調用後會繼續調用組合函數,但返回 值依然是原始函數的傳回值。 |
|
參數說明:fcn,組合函數。Scope,(可選)組合函數的執行範圍 |
defer( Number millis, [Object obj], [Array args], [Boolean/Number appendArgs] ) : Number |
延時執行函數。 參數說明:millis,延時時間(毫秒)。Obj,(可選)函數的範圍。 Args,(可選)參數數組。appendArgs,(可選)如果為true,則args將 附加在參數列表之後,如果是數值,則args將在參數列表的appendargs位置插入。 |
4. Number
除開原生Number對象的方法外,擴充的Number對象還增加了表2-4所示的方法。
表2-4 Number類型擴充方法列表
方法名 |
說明 |
constrain( Number min, Number max ) : Number |
判斷當前數值是否在指定的範圍之內,如果在範圍之內則 返回當前值,如果小於最小值則返回最小值,如果大於最 |
大值則返回最大值。注意:該方法不會修改當前值。 |
參數說明:min,最小值。max ,最大值。 |
5. String
除開原生String對象的方法外,擴充的String對象還增加了表2-5所示的方法。
表2-5 String類型擴充方法列表
方法名 |
說明 |
escape( String string ) : String |
靜態方法,將string中的'和\替換為\' \\ |
format( String string, String value1, String value2 ) : String |
靜態方法,用于格式化字串,例如: String.format('{1}{0}{2}','-','tom','jack'); 輸出結果為:tom-jack 參數說明:string,需要進行格式化的字串。value1,用於替換{0}。value2,用於替換{1}。依此類推,可以接受任意多個參數。 |
leftPad( String string, Number size, [String char] ) : String |
靜態方法,在字串左側填充指定字元,這個方法對於標準化數字或者日期格式非常有用。 參數說明:string,原始字串。Size,返回字串的總長度。Char,(可選)用於填充原始字串的字元,預設為" "。 |
toggle( String value, String other ) : String |
一個工具方法,用於方便的在兩個字串中進行切換,當字 符串與value相同時返回other,不同時返回value,注意該 方法不會修改原始字串。 例如:'123'.toggle('123','0') 返回'0' '1234'.toggle('123','0') 返回'123' 參數說明:Value,與當前字串進行對比的值Other,當 原始字串與value相等時返回的值 |
trim() : String |
去掉字串開頭和結尾位置的空格。 |