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去掉字符串开头和结尾位置的空格。