Ext对基本类型的扩展 ext,extjs,format
2010-12-25 18:05
696 查看
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
还算是有点用处,也不解释。
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
还算是有点用处,也不解释。
您可能感兴趣的文章:
相关文章推荐
- Ext对基本类型的扩展 ext,extjs,format
- Ext对基本类型的扩展
- ExtJs--14--Ext.typeOf() 与 javascript中的typeof很相似,只是在类型上进行了一点简单的扩展,其实可以直接看源代码就可以看得懂的
- java-基本数据类型扩展(其包装类)
- Asp.net AJAX JavaScript 基本类型扩展(1)——Array类型及其扩展
- Js基本数据类型常用方法扩展
- ExtJs4 笔记(2) ExtJs对js基本语法扩展支持
- Extjs4学习笔记<二> ExtJs对js基本语法扩展支持
- ExtJs之格式化(Ext.util.Format)
- linux c中关于基本数据类型和扩展数据类型对codesize的影响和详解
- 透析Extjs的Ext.js源码(三)扩展
- ExtJs4 笔记 ExtJs对js基本语法扩展支持
- c基本类型扩展
- ExtJS学习笔记(2)-From的类型,Ext.FormPanel
- ExtJs4 笔记(2) ExtJs对js基本语法扩展支持
- linux基本命令(24)——linux文件类型与扩展名
- ExtJS学习-----------Ext.String,ExtJS对javascript中的String的扩展
- C语言基本类型及扩展
- EXTJS学习系列基础篇:第六篇(转载)作者殷良胜,Ext组件系列之--button组件的基本用法
- EXTJS4自学手册——EXT基本方法、属性(onReady、define、create)