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 格式化字符串,例 - var cls = 'my-class', text = 'Some text';
- var s = String.format('div class={0}{1}div', cls, text);
复制代码 结果 div class=my-classSome textdiv leftPad( String string, Number size, [String char] ) String 以char将string补齐为size长度,char默认定义空格 toggle( String value, String other ) String 交换值,如果当前值等于value,则被赋值other,反之等于value,例 - sort = sort.toggle('ASC', 'DESC');
复制代码 trim() String 去除开头或结尾多余的空格Date类 Date.parseDate( String input, String format ) Date 将字符串string依指定的格式format转换为时间,其中格式定义详见format方法 例 - dt = Date.parseDate(2006-01-15 32001 PM, Y-m-d his A );
复制代码 add( String interval, Number value ) Date 增加时间段,String interval在Data类中已定义 Date.MILLI = ms; Date.SECOND = s; Date.MINUTE = mi; Date.HOUR = h; Date.DAY = d; Date.MONTH = mo; Date.YEAR = y; 例 - var dt2 = new Date('1012006').add(Date.DAY, -5);
复制代码 between( Date start, Date end ) Boolean 是否在两个指定的时间之间 clearTime( Boolean clone ) Date 清除时间信息,如果clone为真,则克隆自已并返回新Date,本身的值并不改变,反之则修改自身的值 clone() Date 克隆 format( String format ) String 格式化时间 代码 | 含义 | 范围 | d | 两位数的日期 | 01 至 31 | D | 三字母的星期名 | Mon 至 Sun | j | 一位数的日期 | 1 至 31 | l | 完整的星期名 | Sunday 至 Saturday | S | 日期的英文顺序刻词尾,两个字符 | st, nd, rd or th. | w | 一周中的第几天 | 0 (星期天) 至 6 (星期六) | z | 一年中的第几天 | 0 至 364 (闰年365 ) | W | ISO-8601 星期数, 周一算一个星期的开始 | 1 至 53 | F | 月的完整英文名 | January 至 December | m | 月,以0前导 | 01 至 12 | M | 三字母的简写月名 | Jan 至 Dec | n | 月 | 1 至 12 | t | 本月有多少天 | 28 至 31 | L | 是否闰年 | 10 | Y | 完整的年份 | 例 1999 或 2003 | y | 年的后两位 | 例 99 或 03 | a | 上午下午小写 | am 或 pm | A | 上午下午大写 | AM 或 PM | g | 小时12小时制 | 1 至 12 | G | 小时24小时制 | 0 至 23 | h | 小时12小时制 | 01 至 12 | H | 小时24小时制 | 00 至 23 | i | 分钟 | 00 至 59 | s | 秒 | 00 至 59 | u | 毫秒 | 001 至 999 | O | 时区,与格林威治标准时间之差 | 例 +0200 | T | 时区简写 | 例 EST, MDT ... | Z | 时区间距 | -43200 至 50400 | 其中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位置插入,其它情况下原参将不起作用 例 - var fn = func1.createDelegate(scope, [arg1,arg2], true)
- fn(a,b,c) === scope.func1(a,b,c,arg1,arg2);
- var fn = func1.createDelegate(scope, [arg1,arg2])
- fn(a,b,c) === scope.func1(arg1,arg2);
- var fn = func1.createDelegate(scope, [arg1,arg2], 1)
- fn(a,b,c) === scope.func1(a,arg1,arg2,b,c);
- var fn = func1.createCallback(arg1, arg2);
- fn() === func1(arg1, arg2)
复制代码 createCallback function(args...) 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毫秒后执行原方法 |