开始ExtJS之旅:5.ExtJS对原有JavaScript对象的扩展
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 | 去掉字符串开头和结尾位置的空格。 |