Ext对基本类型的扩展 ext,extjs,format |
本文标签:ext,extjs,format 1. Array indexOf(Object o):Number 方法 remove(Object o):Array 方法 2. Date Javascript对日期时间的操作是不太方便的,而Ext在此基本上加入了比较多的扩展 。比较重要的有: add(String interval,Number value):Date 方法 其中interval表示要加入的周期,有效的字符串为 ms--------表示毫秒 s-----------表示秒 mi---------表示分钟 h----------表示小时 d---------表示天 mo--------表示月 y---------表示年 这个方法是通过封装Date.setxxx方法实现的 。 另外,该函数不会改变原始日期的值,则是返回一个新的日期对象作为结果 。 format(String format):String 方法 基本上,它的用法类似于.net中的日期格式化函数 。具体的格式请参见Ext的API 。通过阅读它的源码,我发现第次调用该函数时,它首先判断指定的格式是否曾经调用过,如果没有调用过,则为该格式动态生成一个相应的格式化函数,并缓存起来 。这样做可以明显提高第二次调用的速度 。 3. Function createCallback 方法 为函数生成回调用方法,这个函数怎么起作用呢? 复制代码 代码如下: function add(x,y){ return x+y; } var add2 = add.createCallback(10,20); alert(add2()); createDelegate(scope,args,append) 方法 这个方法的作用和createCallback的作用基本相同,不同的地方在于它可以指定调用原始函数的上下文对象,而createCallback方法则始终使用window作为函数调用的上下文 。 createInterceptor(fn,[scope])方法 这个方法的作用是为函数创建一个拦截器,在调用原始函数之前先调用fn,如果fn返回false,则不调用原始函数 。scope参数指定了调用fn函数的上下文,如果未指定,则和原始函数的上下文相同或者为window对象 。 createSequence( Function fn, [Object scope] ) 这个方法组合了原始函数和fn,最终的结果是先调用原始函数,然后再用同样的参数调用fn函数,最返的返回值是原始函数的返回值 。 defer( Number millis, [Object scope], [Array args], [Boolean/Number appendArgs] ) 这个方法能延时调用原始函数 。 复制代码 代码如下: var clock = function(){ var d = new Date(); alert(d.toLocaleTimeString()); } clock(); clock.defer(10000); 4. Number constrain( Number min, Number max ) 不解释,你懂的 。 5. string format( String string, String value1, String value2… ) : String 它的功能和.net中的格式化基本相同,但比较简单,不支持在{0:d}这样的写法,只支持{0}这样的写法 。看了它的源代码,超简单 。 复制代码 代码如下: format : function(format){ var args = Ext.toArray(arguments, 1); return format.replace(/\{(\d+)\}/g, function(m, i){ return args[i]; }); } 基本上,这是一个很有用的函数,可以让我们少写拼写字符串的代码,那种代码真的很难看懂 。 trim() : String 还算是有点用处,也不解释 。 |