EXT核心API详解(二)-Array/Date/Function/Number/String
EXT核心API详解(二)-Array/Date/Function/Number/String
Array类 indexOf( Object o ) Number object是否在数组中,找不到返回-1;找到返回位置 remove( Object o ) Array 从数组中删除指定的对象object,如果找不到object则数组无变化 Number类 constrain( Number min, Number max ) Number 检查数值是否介于min与max之间, 如果大于max 返回max,如果小于min返回min, 否则返回当前值 String类 escape( String string ) String 将string中的'和\替换为\' \\ format( String string, String value1, String value2 ) String 格式化字符串,例
leftPad( String string, Number size, [String char] ) String 以char将string补齐为size长度,char默认定义空格 toggle( String value, String other ) String 交换值,如果当前值等于value,则被赋值other,反之等于value,例
去除开头或结尾多余的空格 Date类 Date.parseDate( String input, String format ) Date 将字符串string依指定的格式format转换为时间,其中格式定义详见format方法 例
增加时间段,String interval在Data类中已定义 Date.MILLI = ms; Date.SECOND = s; Date.MINUTE = mi; Date.HOUR = h; Date.DAY = d; Date.MONTH = mo; Date.YEAR = y; 例
是否在两个指定的时间之间 clearTime( Boolean clone ) Date 清除时间信息,如果clone为真,则克隆自已并返回新Date,本身的值并不改变,反之则修改自身的值 clone() Date 克隆 format( String format ) String 格式化时间
其中Date类内置了几种格式 Date.patterns = { ISO8601LongY-m-d His, ISO8601ShortY-m-d, ShortDate njY, LongDate l, F d, Y, FullDateTime l, F d, Y gis A, MonthDay F d, ShortTime gi A, LongTime gis A, SortableDateTime Y-m-dTHis, UniversalSortableDateTime Y-m-d HisO, YearMonth F, Y }; 当然ISO8601Long和ISO8601Short还是非常招人喜欢的 例 dt.format(Date.patterns.ISO8601Long); dt.format('Y-m-d His'); getDayOfYear() Number 一年中的第几天,从0开始 getDaysInMonth() Number 本月有多少天, getElapsed( [Date date] ) Number 当前日期对象与date之间相差的毫秒数 getFirstDateOfMonth() Date 本月的第一天 getFirstDayOfMonth() Number 本月第一天是星期几 getGMTOffset() String 时区信息(见格式定义中的'O') getFirstDateOfMonth() Date 本月最后一天 getFirstDayOfMonth() Number 本月最后一天是星期几 getSuffix() String 日期后导符(见格式定义中的S) getTimezone() String 时区(见T) getWeekOfYear() Number 一年中的第几周(见W) isLeapYear() Boolean 是否闰年 Function类 createCallback(args...) Function 创建回叫方法 createDelegate( [Object obj], [Array args], [BooleanNumber appendArgs] ) 创建委托 这两个记法除了传参方式不同,看不出有什么差异都是调用method.apply,createCallback可以看作一个简化版的createDelegate createCallback==return method.apply(window, args); createDelegate==return method.apply(obj window, callArgs); 前者参数比较简单,直接传过去了,后者的规则比较复杂点,如果appendArgs为真,args将附加在参数列表之后,如果是数值,args将在参数列表的appendargs位置插入,其它情况下原参将不起作用 例
createInterceptor( Function fcn, [Object scope] ) Function 创建阻断方法,如果fcn返回false,原方法将不会被执行 createSequence( Function fcn, [Object scope] ) Function 创建组合方法,执行原方法+fcn defer( Number millis, [Object obj], [Array args], [BooleanNumber appendArgs] )Number 定时执行,隔millis毫秒后执行原方法 |