開始ExtJS之旅:5.ExtJS對原有JavaScript對象的擴充

來源:互聯網
上載者:User
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  去掉字串開頭和結尾位置的空格。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.